fix(#159): prevent buf to be freed by the GC before resize function exits

master
Tomas Aparicio 8 years ago
parent 14ff7ff2c8
commit 98c931eb89

1
.gitignore vendored

@ -6,3 +6,4 @@ bin
/*.webp
/fixtures/*_out.*
/.idea/
fixtures/test_vertical_*.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 116 KiB

@ -9,15 +9,16 @@ import "C"
import (
"errors"
"math"
"runtime"
)
// Resize is used to transform a given image as byte buffer
// with the passed options.
func Resize(buf []byte, o Options) ([]byte, error) {
defer C.vips_thread_shutdown()
defer runtime.KeepAlive(buf)
image, imageType, err := loadImage(buf)
if err != nil {
return nil, err
}

Loading…
Cancel
Save