From e9d196f69631934f2a4712b305fa2086872730e6 Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Thu, 6 Feb 2014 22:20:48 +0000 Subject: [PATCH] Fix (unrelated) memory leak discovered whilst investigating #6 --- package.json | 2 +- src/sharp.cc | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 53587972..c354b533 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sharp", - "version": "0.1.3", + "version": "0.1.4", "author": "Lovell Fuller", "description": "High performance module to resize JPEG and PNG images using the libvips image processing library", "scripts": { diff --git a/src/sharp.cc b/src/sharp.cc index db64ade9..fae5699c 100755 --- a/src/sharp.cc +++ b/src/sharp.cc @@ -191,28 +191,28 @@ void resize_async(uv_work_t *work) { if (baton->file_out == "__jpeg") { // Write JPEG to buffer - if (vips_jpegsave_buffer(canvased, &baton->buffer_out, &baton->buffer_out_len, "strip", TRUE, "Q", 80, "optimize_coding", TRUE, "interlace", baton->progessive, NULL)) { - return resize_error(baton, canvased); + if (vips_jpegsave_buffer(sharpened, &baton->buffer_out, &baton->buffer_out_len, "strip", TRUE, "Q", 80, "optimize_coding", TRUE, "interlace", baton->progessive, NULL)) { + return resize_error(baton, sharpened); } } else if (baton->file_out == "__png") { // Write PNG to buffer - if (vips_pngsave_buffer(canvased, &baton->buffer_out, &baton->buffer_out_len, "strip", TRUE, "compression", 6, "interlace", baton->progessive, NULL)) { - return resize_error(baton, canvased); + if (vips_pngsave_buffer(sharpened, &baton->buffer_out, &baton->buffer_out_len, "strip", TRUE, "compression", 6, "interlace", baton->progessive, NULL)) { + return resize_error(baton, sharpened); } } else if (is_jpeg(baton->file_out)) { // Write JPEG to file - if (vips_jpegsave(canvased, baton->file_out.c_str(), "strip", TRUE, "Q", 80, "optimize_coding", TRUE, "interlace", baton->progessive, NULL)) { - return resize_error(baton, canvased); + if (vips_jpegsave(sharpened, baton->file_out.c_str(), "strip", TRUE, "Q", 80, "optimize_coding", TRUE, "interlace", baton->progessive, NULL)) { + return resize_error(baton, sharpened); } } else if (is_png(baton->file_out)) { // Write PNG to file - if (vips_pngsave(canvased, baton->file_out.c_str(), "strip", TRUE, "compression", 6, "interlace", baton->progessive, NULL)) { - return resize_error(baton, canvased); + if (vips_pngsave(sharpened, baton->file_out.c_str(), "strip", TRUE, "compression", 6, "interlace", baton->progessive, NULL)) { + return resize_error(baton, sharpened); } } else { (baton->err).append("Unsupported output " + baton->file_out); } - g_object_unref(canvased); + g_object_unref(sharpened); vips_thread_shutdown(); }