From 9897d659c082f5e2661b5c26a24c3ed8d0096f0d Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Sun, 24 Aug 2003 17:28:23 +0000 Subject: [PATCH] Use gdk_draw_pixbuf. 2003-08-24 Anders Carlsson * libegg/iconlist/eggiconlist.c: (egg_icon_list_paint_item), (egg_icon_list_paint_rubberband): Use gdk_draw_pixbuf. (egg_icon_list_item_unref): Call destroy_notify on the list item. Reported by Edd Dumbill. --- gtk/gtkiconview.c | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 89fc172a4a..8aaae61590 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1641,19 +1641,13 @@ egg_icon_list_paint_item (EggIconList *icon_list, >K_WIDGET (icon_list)->style->base[state]); else pixbuf = g_object_ref (item->icon); - - gdk_pixbuf_render_to_drawable_alpha (pixbuf, - icon_list->priv->bin_window, - 0, 0, - item->pixbuf_x, - item->pixbuf_y, - item->pixbuf_width, - item->pixbuf_height, - GDK_PIXBUF_ALPHA_FULL, - 0, - GDK_RGB_DITHER_NORMAL, - item->pixbuf_width, - item->pixbuf_height); + + gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf, + 0, 0, + item->pixbuf_x, item->pixbuf_y, + item->pixbuf_width, item->pixbuf_height, + GDK_RGB_DITHER_NORMAL, + item->pixbuf_width, item->pixbuf_height); g_object_unref (pixbuf); if (item->selected) @@ -1732,15 +1726,12 @@ egg_icon_list_paint_rubberband (EggIconList *icon_list, pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, rect.width, rect.height); gdk_pixbuf_fill (pixbuf, fill_color); - gdk_pixbuf_render_to_drawable_alpha (pixbuf, - icon_list->priv->bin_window, - 0, 0, - rect.x,rect.y, - rect.width, rect.height, - GDK_PIXBUF_ALPHA_FULL, - 0, - GDK_RGB_DITHER_NONE, - 0, 0); + gdk_draw_pixbuf (icon_list->priv->bin_window, NULL, pixbuf, + 0, 0, + rect.x,rect.y, + rect.width, rect.height, + GDK_RGB_DITHER_NONE, + 0, 0); g_object_unref (pixbuf); gc = gdk_gc_new (icon_list->priv->bin_window); gdk_gc_set_rgb_fg_color (gc, fill_color_gdk); @@ -1877,6 +1868,9 @@ egg_icon_list_item_unref (EggIconListItem *item) if (item->ref_count == 0) { + if (item->destroy_notify) + item->destroy_notify (item->user_data); + g_free (item->label); g_object_unref (item->icon); g_free (item);