diff --git a/ChangeLog b/ChangeLog index 4f08c210aa..2408bc42d0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-03-03 Matthias Clasen + + * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): + Don't warn if a stock icon cannot be found. (#168830, + Sven Neumann) + 2005-03-03 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_reparent_subwindows): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4f08c210aa..2408bc42d0 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2005-03-03 Matthias Clasen + + * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): + Don't warn if a stock icon cannot be found. (#168830, + Sven Neumann) + 2005-03-03 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_reparent_subwindows): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 4f08c210aa..2408bc42d0 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +2005-03-03 Matthias Clasen + + * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): + Don't warn if a stock icon cannot be found. (#168830, + Sven Neumann) + 2005-03-03 Matthias Clasen * gtk/gtkwidget.c (gtk_widget_reparent_subwindows): diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c index b4600f2666..3c3840c73c 100644 --- a/gtk/gtkcellrendererpixbuf.c +++ b/gtk/gtkcellrendererpixbuf.c @@ -510,35 +510,15 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell, GdkPixbuf *colorized = NULL; GdkRectangle pix_rect; GdkRectangle draw_rect; - gboolean stock_pixbuf = FALSE; priv = GTK_CELL_RENDERER_PIXBUF_GET_PRIVATE (cell); - pixbuf = cellpixbuf->pixbuf; - if (cell->is_expander) - { - if (cell->is_expanded && - cellpixbuf->pixbuf_expander_open != NULL) - pixbuf = cellpixbuf->pixbuf_expander_open; - else if (! cell->is_expanded && - cellpixbuf->pixbuf_expander_closed != NULL) - pixbuf = cellpixbuf->pixbuf_expander_closed; - } - - if (!pixbuf && !priv->stock_id) - return; - else if (!pixbuf && priv->stock_id) - stock_pixbuf = TRUE; - gtk_cell_renderer_pixbuf_get_size (cell, widget, cell_area, &pix_rect.x, &pix_rect.y, &pix_rect.width, &pix_rect.height); - if (stock_pixbuf) - pixbuf = cellpixbuf->pixbuf; - pix_rect.x += cell_area->x; pix_rect.y += cell_area->y; pix_rect.width -= cell->xpad * 2; @@ -548,6 +528,21 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell, !gdk_rectangle_intersect (expose_area, &draw_rect, &draw_rect)) return; + pixbuf = cellpixbuf->pixbuf; + + if (cell->is_expander) + { + if (cell->is_expanded && + cellpixbuf->pixbuf_expander_open != NULL) + pixbuf = cellpixbuf->pixbuf_expander_open; + else if (!cell->is_expanded && + cellpixbuf->pixbuf_expander_closed != NULL) + pixbuf = cellpixbuf->pixbuf_expander_closed; + } + + if (!pixbuf) + return; + if (GTK_WIDGET_STATE (widget) == GTK_STATE_INSENSITIVE || !cell->sensitive) { GtkIconSource *source; @@ -555,7 +550,7 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell, source = gtk_icon_source_new (); gtk_icon_source_set_pixbuf (source, pixbuf); /* The size here is arbitrary; since size isn't - * wildcarded in the souce, it isn't supposed to be + * wildcarded in the source, it isn't supposed to be * scaled by the engine function */ gtk_icon_source_set_size (source, GTK_ICON_SIZE_SMALL_TOOLBAR);