After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 161530 - Toolbuttons are inactive after widget reparenting
Toolbuttons are inactive after widget reparenting
Status: RESOLVED WONTFIX
Product: gtk+
Classification: Platform
Component: Widget: GtkToolbar
2.4.x
Other Linux
: Normal normal
: Medium fix
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2004-12-17 09:25 UTC by Andrew E. Makeev
Modified: 2014-03-24 02:58 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Shows toolbar reparent problem (3.71 KB, text/plain)
2004-12-17 09:27 UTC, Andrew E. Makeev
Details

Description Andrew E. Makeev 2004-12-17 09:25:45 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.
Comment 1 Andrew E. Makeev 2004-12-17 09:27:41 UTC
Created attachment 34930 [details]
Shows toolbar reparent problem
Comment 2 Soren Sandmann Pedersen 2005-01-05 01:57:37 UTC
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.
Comment 3 Matthias Clasen 2014-03-24 02:58:31 UTC
closing out ancient bugs