comparison gtk/dw.c @ 460:65bc397a7233

Don't unreference private pixbufs on GTK 2.x.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 07 Jul 2003 16:20:30 +0000
parents f9ba403b15ad
children 2d7b27204cd4
comparison
equal deleted inserted replaced
459:1a938804ef01 460:65bc397a7233
3847 3847
3848 pixbuf = _find_pixbuf(icon); 3848 pixbuf = _find_pixbuf(icon);
3849 3849
3850 gtk_tree_store_insert_after(store, iter, (GtkTreeIter *)parent, (GtkTreeIter *)item); 3850 gtk_tree_store_insert_after(store, iter, (GtkTreeIter *)parent, (GtkTreeIter *)item);
3851 gtk_tree_store_set (store, iter, 0, title, 1, pixbuf, 2, itemdata, 3, iter, -1); 3851 gtk_tree_store_set (store, iter, 0, title, 1, pixbuf, 2, itemdata, 3, iter, -1);
3852 if(pixbuf) 3852 if(pixbuf && !(icon & (1 << 31)))
3853 g_object_unref(pixbuf); 3853 g_object_unref(pixbuf);
3854 retval = (HTREEITEM)iter; 3854 retval = (HTREEITEM)iter;
3855 } 3855 }
3856 DW_MUTEX_UNLOCK; 3856 DW_MUTEX_UNLOCK;
3857 3857
3983 3983
3984 pixbuf = _find_pixbuf(icon); 3984 pixbuf = _find_pixbuf(icon);
3985 3985
3986 gtk_tree_store_append (store, iter, (GtkTreeIter *)parent); 3986 gtk_tree_store_append (store, iter, (GtkTreeIter *)parent);
3987 gtk_tree_store_set (store, iter, 0, title, 1, pixbuf, 2, itemdata, 3, iter, -1); 3987 gtk_tree_store_set (store, iter, 0, title, 1, pixbuf, 2, itemdata, 3, iter, -1);
3988 if(pixbuf) 3988 if(pixbuf && !(icon & (1 << 31)))
3989 g_object_unref(pixbuf); 3989 g_object_unref(pixbuf);
3990 retval = (HTREEITEM)iter; 3990 retval = (HTREEITEM)iter;
3991 } 3991 }
3992 DW_MUTEX_UNLOCK; 3992 DW_MUTEX_UNLOCK;
3993 3993
4104 if((tree = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(handle))) 4104 if((tree = (GtkWidget *)gtk_object_get_user_data(GTK_OBJECT(handle)))
4105 && GTK_IS_TREE_VIEW(tree) && 4105 && GTK_IS_TREE_VIEW(tree) &&
4106 (store = (GtkTreeStore *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_store"))) 4106 (store = (GtkTreeStore *)gtk_object_get_data(GTK_OBJECT(tree), "_dw_tree_store")))
4107 { 4107 {
4108 pixbuf = _find_pixbuf(icon); 4108 pixbuf = _find_pixbuf(icon);
4109 4109
4110 gtk_tree_store_set(store, (GtkTreeIter *)item, 0, title, 1, pixbuf, -1); 4110 gtk_tree_store_set(store, (GtkTreeIter *)item, 0, title, 1, pixbuf, -1);
4111 if(pixbuf) 4111 if(pixbuf && !(icon & (1 << 31)))
4112 g_object_unref(pixbuf); 4112 g_object_unref(pixbuf);
4113 } 4113 }
4114 DW_MUTEX_UNLOCK; 4114 DW_MUTEX_UNLOCK;
4115 #else 4115 #else
4116 GtkWidget *label, *hbox, *pixmap; 4116 GtkWidget *label, *hbox, *pixmap;