Mercurial > dwindows
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; |