diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 6 | ||||
-rw-r--r-- | gtk/gtkwidget.c | 11 |
5 files changed, 31 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Tue Oct 12 17:11:02 2004 <timj@birnet.org> + + * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the + widget for resize or emit change notification if the usize didn't + change. this works around a buggy signal connection in #155139. + 2004-10-11 Matthias Clasen <matthias@localhost.localdomain> * docs/tools/widgets.c: Create scrolledwindow, statusbar, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index db255a468c..6bb4321cee 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Tue Oct 12 17:11:02 2004 <timj@birnet.org> + + * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the + widget for resize or emit change notification if the usize didn't + change. this works around a buggy signal connection in #155139. + 2004-10-11 Matthias Clasen <matthias@localhost.localdomain> * docs/tools/widgets.c: Create scrolledwindow, statusbar, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index db255a468c..6bb4321cee 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +Tue Oct 12 17:11:02 2004 <timj@birnet.org> + + * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the + widget for resize or emit change notification if the usize didn't + change. this works around a buggy signal connection in #155139. + 2004-10-11 Matthias Clasen <matthias@localhost.localdomain> * docs/tools/widgets.c: Create scrolledwindow, statusbar, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index db255a468c..6bb4321cee 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +Tue Oct 12 17:11:02 2004 <timj@birnet.org> + + * gtk/gtkwidget.c (gtk_widget_set_usize_internal): don't queue the + widget for resize or emit change notification if the usize didn't + change. this works around a buggy signal connection in #155139. + 2004-10-11 Matthias Clasen <matthias@localhost.localdomain> * docs/tools/widgets.c: Create scrolledwindow, statusbar, diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index f9534899de..eefa3ee9c2 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -5509,25 +5509,28 @@ gtk_widget_set_usize_internal (GtkWidget *widget, gint height) { GtkWidgetAuxInfo *aux_info; + gboolean changed = FALSE; g_return_if_fail (GTK_IS_WIDGET (widget)); g_object_freeze_notify (G_OBJECT (widget)); - aux_info =_gtk_widget_get_aux_info (widget, TRUE); + aux_info = _gtk_widget_get_aux_info (widget, TRUE); - if (width > -2) + if (width > -2 && aux_info->width != width) { g_object_notify (G_OBJECT (widget), "width_request"); aux_info->width = width; + changed = TRUE; } - if (height > -2) + if (height > -2 && aux_info->height != height) { g_object_notify (G_OBJECT (widget), "height_request"); aux_info->height = height; + changed = TRUE; } - if (GTK_WIDGET_VISIBLE (widget)) + if (GTK_WIDGET_VISIBLE (widget) && changed) gtk_widget_queue_resize (widget); g_object_thaw_notify (G_OBJECT (widget)); |