don't queue the widget for resize or emit change notification if the usize

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.
This commit is contained in:
4 2004-10-12 15:12:44 +00:00 committed by Tim Janik
parent 6e2f9d6bfb
commit 3f32a4da46
5 changed files with 31 additions and 4 deletions

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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));