GNOME Bugzilla – Bug 161530
Toolbuttons are inactive after widget reparenting
Last modified: 2014-03-24 02:58:31 UTC
Create one window. Create another window with toolbar. Reparent second window content to first window. You will find toolbar items inactive until both hide() and show() events are occured for toolbar widget.
Created attachment 34930 [details] Shows toolbar reparent problem
It looks like what's going on here is that the reparent causes the toolbar to become un-anchored, then anchored again, causing hierarchy_changed to be emitted, which causes screen_changed to be called for the toolbar, which causes toolbar_reconfigured to be called, which causes the tool buttons to rebuild themselves. Unfortunately the tool buttons are not yet anchored at this point, so since the boxes inside the toolbuttons are realized, we are trying to realize un-anchored widgets, which is illegal. A possible solution may be to not change the hierarchy out of screen changed, and instead queue it up for later. The actual inactivity of the buttons is just a side-effect of something that went wrong much earlier. Generally, gtk+'s behavior is not defined after a "Gtk-CRITICAL" error.
closing out ancient bugs