diff options
author | Owen Taylor <otaylor@src.gnome.org> | 1998-05-01 04:23:59 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-05-01 04:23:59 +0000 |
commit | 05bc6a5b3639869eee69cfa4a2db8b8968b247cb (patch) | |
tree | 58bad8f48d24c88dfc95206defe79dd0464256f6 /gtk/gtkpixmap.c | |
parent | e909f843f8e2949144e624ce1af4fd1737396f62 (diff) | |
download | gtk+-05bc6a5b3639869eee69cfa4a2db8b8968b247cb.tar.gz |
Merged changes from gtk-1-0. Check ChangeLog for details.
Diffstat (limited to 'gtk/gtkpixmap.c')
-rw-r--r-- | gtk/gtkpixmap.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gtk/gtkpixmap.c b/gtk/gtkpixmap.c index 713cd22778..014a2dbf08 100644 --- a/gtk/gtkpixmap.c +++ b/gtk/gtkpixmap.c @@ -104,12 +104,16 @@ gtk_pixmap_set (GtkPixmap *pixmap, { gint width; gint height; + gint oldwidth; + gint oldheight; g_return_if_fail (pixmap != NULL); g_return_if_fail (GTK_IS_PIXMAP (pixmap)); if (pixmap->pixmap != val) { + oldwidth = GTK_WIDGET (pixmap)->requisition.width; + oldheight = GTK_WIDGET (pixmap)->requisition.height; if (pixmap->pixmap) gdk_pixmap_unref (pixmap->pixmap); pixmap->pixmap = val; @@ -128,7 +132,13 @@ gtk_pixmap_set (GtkPixmap *pixmap, GTK_WIDGET (pixmap)->requisition.height = 0; } if (GTK_WIDGET_VISIBLE (pixmap)) - gtk_widget_queue_resize (GTK_WIDGET (pixmap)); + { + if ((GTK_WIDGET (pixmap)->requisition.width != oldwidth) || + (GTK_WIDGET (pixmap)->requisition.height != oldheight)) + gtk_widget_queue_resize (GTK_WIDGET (pixmap)); + else + gtk_widget_queue_draw (GTK_WIDGET (pixmap)); + } } if (pixmap->mask != mask) |