Proposed patch attached, which fixes bug 311394 and a leak. [1] http://bugzilla.gnome.org/show_bug.cgi?id=311394 -- Christian Neumair <chris gnome-de org>
Index: src/nautilus-spatial-window.c
===================================================================
RCS file: /cvs/gnome/nautilus/src/nautilus-spatial-window.c,v
retrieving revision 1.451
diff -u -p -r1.451 nautilus-spatial-window.c
--- src/nautilus-spatial-window.c 17 Oct 2005 17:43:57 -0000 1.451
+++ src/nautilus-spatial-window.c 17 Oct 2005 18:03:20 -0000
@@ -442,13 +442,22 @@ got_file_info_for_location_menu_callback
{
GtkWidget *icon;
GtkWidget *menu_item = callback_data;
+ GdkPixbuf *pixbuf;
char *icon_name;
g_return_if_fail (NAUTILUS_IS_FILE (file));
+ pixbuf = NULL;
+
icon_name = nautilus_icon_factory_get_icon_for_file (file, FALSE);
- if (icon_name) {
- icon = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
+ if (icon_name != NULL) {
+ pixbuf = nautilus_icon_factory_get_pixbuf_from_name_with_stock_size (icon_name, NULL, GTK_ICON_SIZE_MENU, NULL);
+ g_free (icon_name);
+ }
+
+ if (pixbuf != NULL) {
+ icon = gtk_image_new_from_pixbuf (pixbuf);
+ gdk_pixbuf_unref (pixbuf);
} else {
icon = gtk_image_new_from_stock (GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
}
@@ -674,12 +683,19 @@ nautilus_spatial_window_set_location_but
vfs_result_code = nautilus_file_get_file_info_result (file);
if (vfs_result_code == GNOME_VFS_OK) {
char *icon_name;
+ GdkPixbuf *pixbuf;
+
+ pixbuf = NULL;
icon_name = nautilus_icon_factory_get_icon_for_file (file, FALSE);
- if (icon_name) {
- gtk_image_set_from_icon_name (GTK_IMAGE (window->details->location_icon),
- icon_name, GTK_ICON_SIZE_MENU);
+ if (icon_name != NULL) {
+ pixbuf = nautilus_icon_factory_get_pixbuf_from_name_with_stock_size (icon_name, NULL, GTK_ICON_SIZE_MENU, NULL);
g_free (icon_name);
+ }
+
+ if (pixbuf != NULL) {
+ gtk_image_set_from_pixbuf (GTK_IMAGE (window->details->location_icon), pixbuf);
+ gdk_pixbuf_unref (pixbuf);
} else {
gtk_image_set_from_stock (GTK_IMAGE (window->details->location_icon),
GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU);
Attachment:
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil