if REQUEST_NEEDED is still set on ::size-allocate, another size-request

Tue Oct  5 17:06:26 2004  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
        set on ::size-allocate, another size-request has been queued since
        ::size-request and needs to be requeued.
This commit is contained in:
Tim Janik 2004-10-05 15:10:50 +00:00 committed by Tim Janik
parent 1ea4933f3f
commit 841bb40d78
5 changed files with 36 additions and 1 deletions

View File

@ -1,3 +1,9 @@
Tue Oct 5 17:06:26 2004 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
set on ::size-allocate, another size-request has been queued since
::size-request and needs to be requeued.
2004-10-05 Paolo Borelli <pborelli@katamail.com>
* gtk/gtkmenutoolbutton.c: rename the activate-menu signal to

View File

@ -1,3 +1,9 @@
Tue Oct 5 17:06:26 2004 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
set on ::size-allocate, another size-request has been queued since
::size-request and needs to be requeued.
2004-10-05 Paolo Borelli <pborelli@katamail.com>
* gtk/gtkmenutoolbutton.c: rename the activate-menu signal to

View File

@ -1,3 +1,9 @@
Tue Oct 5 17:06:26 2004 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
set on ::size-allocate, another size-request has been queued since
::size-request and needs to be requeued.
2004-10-05 Paolo Borelli <pborelli@katamail.com>
* gtk/gtkmenutoolbutton.c: rename the activate-menu signal to

View File

@ -1,3 +1,9 @@
Tue Oct 5 17:06:26 2004 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_size_allocate): if REQUEST_NEEDED is still
set on ::size-allocate, another size-request has been queued since
::size-request and needs to be requeued.
2004-10-05 Paolo Borelli <pborelli@katamail.com>
* gtk/gtkmenutoolbutton.c: rename the activate-menu signal to

View File

@ -2705,7 +2705,13 @@ gtk_widget_size_allocate (GtkWidget *widget,
old_allocation.y != real_allocation.y);
if (!alloc_needed && !size_changed && !position_changed)
return;
{
if (GTK_WIDGET_REQUEST_NEEDED (widget))
{ /* another resize has been queued */
gtk_widget_queue_resize (widget);
}
return;
}
g_signal_emit (widget, widget_signals[SIZE_ALLOCATE], 0, &real_allocation);
@ -2744,6 +2750,11 @@ gtk_widget_size_allocate (GtkWidget *widget,
gtk_widget_invalidate_widget_windows (widget->parent, invalidate);
gdk_region_destroy (invalidate);
}
if (GTK_WIDGET_REQUEST_NEEDED (widget))
{ /* another resize has been queued */
gtk_widget_queue_resize (widget);
}
}
/**