From d635c297a2cc0cd7ea8c43c3823cf1e876bea9b6 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sat, 3 May 2014 22:14:21 +0100 Subject: [PATCH] Replace use of deprecated libvips conv method. Ensure unref of mask to fix minor memory leak of ~150 bytes/image. --- src/sharp.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/sharp.cc b/src/sharp.cc index c468e37b..70392353 100755 --- a/src/sharp.cc +++ b/src/sharp.cc @@ -241,14 +241,16 @@ class ResizeWorker : public NanAsyncWorker { // Mild sharpen VipsImage *sharpened = vips_image_new(); if (baton->sharpen) { - INTMASK* sharpen = im_create_imaskv("sharpen", 3, 3, - -1, -1, -1, - -1, 32, -1, - -1, -1, -1); - sharpen->scale = 24; - if (im_conv(canvased, sharpened, sharpen)) { + VipsImage *sharpen = vips_image_new_matrixv(3, 3, + -1.0, -1.0, -1.0, + -1.0, 32.0, -1.0, + -1.0, -1.0, -1.0); + vips_image_set_double(sharpen, "scale", 24); + if (vips_conv(canvased, &sharpened, sharpen, NULL)) { + g_object_unref(sharpen); return resize_error(baton, canvased); } + g_object_unref(sharpen); } else { vips_copy(canvased, &sharpened, NULL); }