From d84a83c101620b7470705de5d7f0bb0ae87e8dc2 Mon Sep 17 00:00:00 2001 From: Martin Donlon Date: Tue, 23 Nov 2021 09:47:19 -0800 Subject: [PATCH] Fix memory leak in screenshot saving (#487) Fix formatting --- user_io.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/user_io.cpp b/user_io.cpp index 684ae27..4d744c1 100644 --- a/user_io.cpp +++ b/user_io.cpp @@ -3593,23 +3593,24 @@ bool user_io_screenshot(const char *pngname, int rescale) static char filename[1024]; FileGenerateScreenshotName(basename, filename, 1024); - /* do we want to save a rescaled image? */ - if (rescale) { + if (rescale) + { Imlib_Image im_scaled=imlib_create_cropped_scaled_image(0,0,ms->width,ms->height,ms->output_width,ms->output_height); - imlib_free_image_and_decache(); + imlib_free_image_and_decache(); imlib_context_set_image(im_scaled); - } Imlib_Load_Error error; imlib_save_image_with_error_return(getFullPath(filename),&error); - if (error != IMLIB_LOAD_ERROR_NONE) { + if (error != IMLIB_LOAD_ERROR_NONE) + { print_imlib_load_error (error, filename); Info("error in saving png"); return false; } - imlib_free_image_and_decache(); + imlib_free_image_and_decache(); mister_scaler_free(ms); + free(outputbuf); char msg[1024]; snprintf(msg, 1024, "Screen saved to\n%s", filename + strlen(SCREENSHOT_DIR"/")); Info(msg);