-
Tristan Van Berkom authored
Now GtkWindow takes some measures when setting toplevelness: - When a window becomes toplevel after being embedded it saves the visibility state and reshow's itself so that the window re-realizes and presents itself again automatically - When emitting hierarchy-changed, synthetically mark the toplevel as not anchored, this allows the hierarchy changed propagation to recurse properly. GtkWidget also takes care to unset the parent window *after* unparenting the widget and after emitting the heirarhcy changed that leaves a NULL toplevel. That means there are now 2 cycles of "hierarchy-changed" when removing an embedded toplevel from a parent, first one that makes the new toplevel a NULL one (since the toplevel flag is not yet restored), the second cycle makes the removed window toplevel again when setting the parent window to NULL.
93c80585