nautilus r13638 - in trunk: . libnautilus-private



Author: alexl
Date: Tue Jan 22 15:30:07 2008
New Revision: 13638
URL: http://svn.gnome.org/viewvc/nautilus?rev=13638&view=rev

Log:
2008-01-22  Alexander Larsson  <alexl redhat com>

        * libnautilus-private/nautilus-bookmark.c:
        (nautilus_bookmark_get_pixbuf):
	Don't leak icon
	
        * libnautilus-private/nautilus-cell-renderer-pixbuf-emblem.c:
	Indentation fixups
	
        * libnautilus-private/nautilus-icon-info.c:
        (nautilus_icon_info_get_pixbuf_nodefault):
	Only set toggle ref first time we get a pixbuf request.



Modified:
   trunk/ChangeLog
   trunk/libnautilus-private/nautilus-bookmark.c
   trunk/libnautilus-private/nautilus-cell-renderer-pixbuf-emblem.c
   trunk/libnautilus-private/nautilus-icon-info.c

Modified: trunk/libnautilus-private/nautilus-bookmark.c
==============================================================================
--- trunk/libnautilus-private/nautilus-bookmark.c	(original)
+++ trunk/libnautilus-private/nautilus-bookmark.c	Tue Jan 22 15:30:07 2008
@@ -240,6 +240,8 @@
 	info = nautilus_icon_info_lookup (icon, pixel_size);
 	result = nautilus_icon_info_get_pixbuf_at_size (info, pixel_size);	
 	g_object_unref (info);
+
+	g_object_unref (icon);
 	
 	return result;
 }

Modified: trunk/libnautilus-private/nautilus-cell-renderer-pixbuf-emblem.c
==============================================================================
--- trunk/libnautilus-private/nautilus-cell-renderer-pixbuf-emblem.c	(original)
+++ trunk/libnautilus-private/nautilus-cell-renderer-pixbuf-emblem.c	Tue Jan 22 15:30:07 2008
@@ -263,9 +263,9 @@
                                                                                                                                                                        
 static void
 nautilus_cell_renderer_pixbuf_emblem_set_property (GObject      *object,
-                                            guint         param_id,
-                                            const GValue *value,
-                                            GParamSpec   *pspec)
+						   guint         param_id,
+						   const GValue *value,
+						   GParamSpec   *pspec)
 {
 	GdkPixbuf *pixbuf;
 	NautilusCellRendererPixbufEmblem *cellpixbuf = NAUTILUS_CELL_RENDERER_PIXBUF_EMBLEM (object);
@@ -343,7 +343,7 @@
 
 static void
 nautilus_cell_renderer_pixbuf_emblem_create_stock_pixbuf (NautilusCellRendererPixbufEmblem *cellpixbuf,
-					      GtkWidget             *widget)
+							  GtkWidget             *widget)
 {
 	NautilusCellRendererPixbufEmblemInfo *cellinfo = g_object_get_data (G_OBJECT (cellpixbuf), CELLINFO_KEY);
 

Modified: trunk/libnautilus-private/nautilus-icon-info.c
==============================================================================
--- trunk/libnautilus-private/nautilus-icon-info.c	(original)
+++ trunk/libnautilus-private/nautilus-icon-info.c	Tue Jan 22 15:30:07 2008
@@ -437,11 +437,13 @@
 		res = NULL;
 	} else {
 		res = g_object_ref (icon->pixbuf);
-		icon->sole_owner = FALSE;
-		
-		g_object_add_toggle_ref (G_OBJECT (res),
-					 pixbuf_toggle_notify,
-					 icon);
+
+		if (icon->sole_owner) {
+			icon->sole_owner = FALSE;
+			g_object_add_toggle_ref (G_OBJECT (res),
+						 pixbuf_toggle_notify,
+						 icon);
+		}
 	}
 	
 	return res;



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