summaryrefslogtreecommitdiff
path: root/gtk/gtkpixmap.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>1998-05-01 04:23:59 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-05-01 04:23:59 +0000
commit05bc6a5b3639869eee69cfa4a2db8b8968b247cb (patch)
tree58bad8f48d24c88dfc95206defe79dd0464256f6 /gtk/gtkpixmap.c
parente909f843f8e2949144e624ce1af4fd1737396f62 (diff)
downloadgdk-pixbuf-05bc6a5b3639869eee69cfa4a2db8b8968b247cb.tar.gz
Merged changes from gtk-1-0. Check ChangeLog for details.
Diffstat (limited to 'gtk/gtkpixmap.c')
-rw-r--r--gtk/gtkpixmap.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gtk/gtkpixmap.c b/gtk/gtkpixmap.c
index 713cd2277..014a2dbf0 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)