Index: xfdesktop-file-icon.c =================================================================== --- xfdesktop-file-icon.c (revision 22760) +++ xfdesktop-file-icon.c (working copy) @@ -355,9 +355,19 @@ icon_name = thunar_vfs_volume_lookup_icon_name(file_icon->priv->volume, gtk_icon_theme_get_default()); if(icon_name) { +#if 0 /* oh oh */ file_icon->priv->pix = xfce_themed_icon_load(icon_name, size); if(file_icon->priv->pix) loaded_new = TRUE; +#else + GdkPixbuf *tmp = xfce_themed_icon_load (icon_name, size); + if (tmp != NULL) + { + file_icon->priv->pix = gdk_pixbuf_copy (tmp); + g_object_unref (G_OBJECT (tmp)); + loaded_new = TRUE; + } +#endif } } @@ -366,17 +376,37 @@ && file_icon->priv->info->flags & THUNAR_VFS_FILE_FLAGS_EXECUTABLE) { icon_name = thunar_vfs_path_get_name(file_icon->priv->info->path); +#if 0 /* oh oh */ file_icon->priv->pix = xfce_themed_icon_load(icon_name, size); if(file_icon->priv->pix) loaded_new = TRUE; +#else + GdkPixbuf *tmp = xfce_themed_icon_load (icon_name, size); + if (tmp != NULL) + { + file_icon->priv->pix = gdk_pixbuf_copy (tmp); + g_object_unref (G_OBJECT (tmp)); + loaded_new = TRUE; + } +#endif } if(!file_icon->priv->pix && file_icon->priv->info) { icon_name = thunar_vfs_info_get_custom_icon(file_icon->priv->info); if(icon_name) { +#if 0 /* oh oh*/ file_icon->priv->pix = xfce_themed_icon_load(icon_name, size); if(file_icon->priv->pix) loaded_new = TRUE; +#else + GdkPixbuf *tmp = xfce_themed_icon_load (icon_name, size); + if (tmp != NULL) + { + file_icon->priv->pix = gdk_pixbuf_copy (tmp); + g_object_unref (G_OBJECT (tmp)); + loaded_new = TRUE; + } +#endif } } @@ -385,9 +415,19 @@ gtk_icon_theme_get_default()); if(icon_name) { +#if 0 /* oh oh */ file_icon->priv->pix = xfce_themed_icon_load(icon_name, size); if(file_icon->priv->pix) loaded_new = TRUE; +#else + GdkPixbuf *tmp = xfce_themed_icon_load (icon_name, size); + if (tmp != NULL) + { + file_icon->priv->pix = gdk_pixbuf_copy (tmp); + g_object_unref (G_OBJECT (tmp)); + loaded_new = TRUE; + } +#endif } } } @@ -395,7 +435,11 @@ /* fallback */ if(G_UNLIKELY(!file_icon->priv->pix)) { xfdesktop_file_icon_ensure_fallback_icon(size); +#if 0 /* oh oh */ file_icon->priv->pix = g_object_ref(G_OBJECT(xfdesktop_fallback_icon)); +#else + file_icon->priv->pix = gdk_pixbuf_copy (xfdesktop_fallback_icon); +#endif loaded_new = TRUE; }