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:16:01 +00:00
committed by Tim Janik
parent e26438dd48
commit 8d2faa0925
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-08 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version.

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-08 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version.

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-08 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version.

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-08 Matthias Clasen <mclasen@redhat.com>
* configure.in: Bump version.

View File

@@ -5485,25 +5485,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));