diff options
author | Tim Janik <timj@gtk.org> | 2004-10-05 19:02:49 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 2004-10-05 19:02:49 +0000 |
commit | 229388f26d975d42d9181f2890b5b1ecd72569ea (patch) | |
tree | 1c63fa61cec23c9e18e00a69b4e33f0f0a9b6b2a /gtk/gtkwidget.c | |
parent | eac2b41acb4d0ebb37fdc82adc15fa8ef40e7803 (diff) | |
download | gtk+-229388f26d975d42d9181f2890b5b1ecd72569ea.tar.gz |
reverted my last change and applied owen's leaner conditional flag update
Tue Oct 5 21:00:54 2004 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_size_allocate): reverted my last change
and applied owen's leaner conditional flag update which should be good
enough to preserve resizing flag invariants.
Diffstat (limited to 'gtk/gtkwidget.c')
-rw-r--r-- | gtk/gtkwidget.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 8992752266..ad1257c97e 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -2675,7 +2675,8 @@ gtk_widget_size_allocate (GtkWidget *widget, g_return_if_fail (GTK_IS_WIDGET (widget)); alloc_needed = GTK_WIDGET_ALLOC_NEEDED (widget); - GTK_PRIVATE_UNSET_FLAG (widget, GTK_ALLOC_NEEDED); + if (!GTK_WIDGET_REQUEST_NEEDED (widget)) /* Preserve request/allocate ordering */ + GTK_PRIVATE_UNSET_FLAG (widget, GTK_ALLOC_NEEDED); old_allocation = widget->allocation; real_allocation = *allocation; @@ -2705,13 +2706,7 @@ gtk_widget_size_allocate (GtkWidget *widget, old_allocation.y != real_allocation.y); if (!alloc_needed && !size_changed && !position_changed) - { - if (GTK_WIDGET_REQUEST_NEEDED (widget)) - { /* another resize has been queued */ - gtk_widget_queue_resize (widget); - } - return; - } + return; g_signal_emit (widget, widget_signals[SIZE_ALLOCATE], 0, &real_allocation); @@ -2750,11 +2745,6 @@ 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); - } } /** |