]> Pileus Git - ~andy/gtk/commitdiff
Fix memory leaks in error paths
authorMatthias Clasen <matthiasc@src.gnome.org>
Wed, 17 Jan 2007 04:24:00 +0000 (04:24 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 17 Jan 2007 04:24:00 +0000 (04:24 +0000)
svn path=/trunk/; revision=17165

gdk-pixbuf/ChangeLog
gdk-pixbuf/gdk-pixbuf-loader.c

index 043da1d8c2e80d42ba1f48a072f7daac21622741..9f617d1cd1f6ddca15c2dbec687c81e114379aee 100644 (file)
@@ -1,3 +1,10 @@
+2007-01-16  Matthias Clasen  <mclasen@redhat.com>
+
+       * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Just
+       call gdk_pixbuf_loader_close to close the loader in
+       the error case. Fixes memory leaks in the error case,
+       pointed out by David Necas.
+
 2007-01-04  Matthias Clasen  <mclasen@redhat.com>
 
        * io-bmp.c (OneLine32): Fix a warning
index 6ee5837f6b7f2b63d8873ccaa9a8b81d60d5527a..c8c985229232b45a062d7f0f5b4419d8c5e2294d 100644 (file)
@@ -472,16 +472,7 @@ gdk_pixbuf_loader_write (GdkPixbufLoader *loader,
 
  fail:
         gdk_pixbuf_loader_ensure_error (loader, error);
-
-        priv->closed = TRUE;
-
-        if (priv->image_module && priv->holds_threadlock) 
-               {
-                       _gdk_pixbuf_unlock (priv->image_module);
-                       priv->holds_threadlock = FALSE;
-               }
-
-        g_signal_emit (loader, pixbuf_loader_signals[CLOSED], 0);
+        gdk_pixbuf_loader_close (loader, NULL);
 
         return FALSE;
 }