diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 4eae62ca54..0ca94bb01d 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -3208,6 +3208,7 @@ draw_icon (GtkWidget *widget, EntryIconInfo *icon_info = priv->icons[icon_pos]; GdkPixbuf *pixbuf; gint x, y, width, height; + cairo_t *cr; if (!icon_info) return; @@ -3265,9 +3266,10 @@ draw_icon (GtkWidget *widget, pixbuf = temp_pixbuf; } - gdk_draw_pixbuf (icon_info->window, widget->style->black_gc, pixbuf, - 0, 0, x, y, -1, -1, - GDK_RGB_DITHER_NORMAL, 0, 0); + cr = gdk_cairo_create (icon_info->window); + gdk_cairo_set_source_pixbuf (cr, pixbuf, x, y); + cairo_paint (cr); + cairo_destroy (cr); g_object_unref (pixbuf); }