[gegl] buffer: free the tile handler's source unconditionally in dispose()



commit f095de1f87ff5cf540d8e47241d733280789b4ca
Author: Michael Natterer <mitch gimp org>
Date:   Thu Sep 20 01:11:05 2012 +0200

    buffer: free the tile handler's source unconditionally in dispose()
    
    The code there was probably trying to be smart about reusing stuff,
    but nobody else was ever releasing that reference, so it was clearly a
    leak. If this breaks whatever smart reusing scheme, it needs to handle
    reference counting differently.

 gegl/buffer/gegl-tile-handler.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)
---
diff --git a/gegl/buffer/gegl-tile-handler.c b/gegl/buffer/gegl-tile-handler.c
index 3cfc27c..72f610e 100644
--- a/gegl/buffer/gegl-tile-handler.c
+++ b/gegl/buffer/gegl-tile-handler.c
@@ -49,11 +49,9 @@ gegl_tile_handler_dispose (GObject *object)
 {
   GeglTileHandler *handler = GEGL_TILE_HANDLER (object);
 
-  if (handler->source != NULL)
+  if (handler->source)
     {
-      if (!(GEGL_IS_TILE_STORAGE (handler->source) &&
-	    gegl_tile_storage_cached_release ((void*)handler->source)))
-        g_object_unref (handler->source);
+      g_object_unref (handler->source);
       handler->source = NULL;
     }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]