aboutsummaryrefslogtreecommitdiff
path: root/src/imagedisplay.c
diff options
context:
space:
mode:
authortaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-11-19 17:16:28 +0000
committertaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-11-19 17:16:28 +0000
commitc9d4b47c809d1035e3bc26ad7c9a013f610bee02 (patch)
treeddadc92f9dc36b8cb6bd4eca49de373e1eca8222 /src/imagedisplay.c
parent570072f597cb0b2794c8707f080d34dfbb30c372 (diff)
Fix more memory leaks
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@199 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src/imagedisplay.c')
-rw-r--r--src/imagedisplay.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/imagedisplay.c b/src/imagedisplay.c
index 8e1858e..1caaf9e 100644
--- a/src/imagedisplay.c
+++ b/src/imagedisplay.c
@@ -46,6 +46,10 @@ static void imagedisplay_rescale(ImageDisplay *imagedisplay, unsigned int v_w, u
v_h = v_w/aspect_image;
}
+ if ( imagedisplay->pixbuf_scaled ) {
+ g_object_unref(imagedisplay->pixbuf_scaled);
+ }
+
/* Create the scaled pixbuf from the 8-bit display data */
imagedisplay->pixbuf_scaled = gdk_pixbuf_scale_simple(imagedisplay->pixbuf, v_w, v_h, GDK_INTERP_BILINEAR);
imagedisplay->view_width = v_w;
@@ -295,6 +299,7 @@ ImageDisplay *imagedisplay_open_with_message(ImageRecord imagerecord, const char
imagedisplay->flags = flags;
imagedisplay->marks = NULL;
imagedisplay->pixbuf = NULL;
+ imagedisplay->pixbuf_scaled = NULL;
imagedisplay->realised = FALSE;
gtk_window_set_title(GTK_WINDOW(imagedisplay->window), imagedisplay->title);