widget: Queue an allocate on hide

This makes sure that hidden widgets always have priv->alloc_needed set
on them.

The constructor sets that flag, so we want to have it back when we
revert to this state.

This fixes GtkWindow skipping a size_allocate() when reshowing a
previously hidden window and thereby not updating its allocation and
clip. And that in turn would lead to draws not happening and us beig
left with a black window.
This commit is contained in:
Benjamin Otte 2015-11-03 18:53:45 +01:00
parent 09f7c8511b
commit 1f01b8d52a

View File

@ -4863,6 +4863,8 @@ gtk_widget_hide (GtkWidget *widget)
if (parent)
gtk_widget_queue_resize (parent);
gtk_widget_queue_allocate (widget);
gtk_widget_pop_verify_invariants (widget);
g_object_unref (widget);
}