Bug 132988

Summary: toolbar play makes icons, text disappear
Product: [Fedora] Fedora Reporter: Zack Cerza <zcerza>
Component: libbonobouiAssignee: Matthias Clasen <mclasen>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: sangu.fedora
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-09-29 12:43:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 131589    

Description Zack Cerza 2004-09-20 18:16:31 UTC
Description of problem:
Evolution's main toolbar can be made to lose some icons and text
labels simply by dragging it around. You don't actually have to let go
of the mouse button for this to happen; the act of the toolbar
changing from horizontal to vertical orientation seems to trigger it.

Version-Release number of selected component (if applicable):
evolution-1.5.94.1-1 evolution-2.0.0-1

How reproducible:
Always

Steps to Reproduce:
1. Drag evolution's toolbar around, making it change from horizontal
to vertical orientation and back
  
Actual results:
Multiple icons and their associated text labels disappear.

Expected results:
Er, they don't.

Additional info:
This may only affect buttons with *both* icons and text labels. I'm
not entirely sure.

Comment 1 Dave Malcolm 2004-09-20 18:25:35 UTC
I can reproduce this with gedit, and with Nautilus in browser mode, so
I think it's a more general problem, not just evolution; will
investigate further...

Comment 2 Dave Malcolm 2004-09-20 18:28:16 UTC
OK, evolution spews out lots of error similar to the following when
you attach the toolbar vertically:
(evolution-2.0:17344): Gtk-CRITICAL **: file gtkwidget.c: line 2221
(gtk_widget_realize): assertion `GTK_WIDGET_ANCHORED (widget) ||
GTK_IS_INVISIBLE (widget)' failed
 
(evolution-2.0:17344): Gtk-CRITICAL **: file gtkwidget.c: line 2221
(gtk_widget_realize): assertion `GTK_WIDGET_ANCHORED (widget) ||
GTK_IS_INVISIBLE (widget)' failed
 
(evolution-2.0:17344): Gdk-CRITICAL **: file gdkwindow.c: line 2180
(gdk_window_invalidate_rect): assertion `window != NULL' failed
 
(evolution-2.0:17344): Gtk-CRITICAL **: file gtkwidget.c: line 2221
(gtk_widget_realize): assertion `GTK_WIDGET_ANCHORED (widget) ||
GTK_IS_INVISIBLE (widget)' failed
 
(evolution-2.0:17344): Gtk-CRITICAL **: file gtkwidget.c: line 6429
(gtk_widget_real_map): assertion `GTK_WIDGET_REALIZED (widget) ==
TRUE' failed
 
(evolution-2.0:17344): Gdk-CRITICAL **: file gdkwindow.c: line 2180
(gdk_window_invalidate_rect): assertion `window != NULL' failed
 
(evolution-2.0:17344): Gtk-CRITICAL **: file gtkwidget.c: line 2221
(gtk_widget_realize): assertion `GTK_WIDGET_ANCHORED (widget) ||
GTK_IS_INVISIBLE (widget)' failed


Comment 3 Zack Cerza 2004-09-20 18:29:53 UTC
file-roller has it too, but with all the buttons, not just the
icons+text ones.

Comment 4 Matthias Clasen 2004-09-20 18:47:15 UTC
Seems to be a bonoboui problem, actually... 

Here is where the first warning occurs:

Breakpoint 1, 0x004d5936 in g_logv () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0  0x004d5936 in g_logv () from /usr/lib/libglib-2.0.so.0
#1  0x004d5d74 in g_log () from /usr/lib/libglib-2.0.so.0
#2  0x00ed33e4 in gtk_widget_realize (widget=0x97dea88) at
gtkwidget.c:2232
#3  0x00ed6ccd in gtk_widget_set_parent (widget=0x97dea88,
parent=0x974a9f8)
    at gtkwidget.c:4296
#4  0x00d3d3e6 in gtk_bin_add (container=0x974a9f8, child=0x97dea88)
    at gtkbin.c:128
#5  0x00d417db in gtk_button_add (container=0x974a9f8, widget=0x97dea88)
    at gtkbutton.c:486
#6  0x0028f38e in g_cclosure_marshal_VOID__OBJECT ()
   from /usr/lib/libgobject-2.0.so.0
#7  0x0027a4f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#8  0x0027a160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#9  0x0028d9be in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#10 0x0028d157 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#11 0x0028d454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#12 0x00d77827 in gtk_container_add (container=0x974a9f8,
widget=0x97dea88)
    at gtkcontainer.c:962
#13 0x0033cafd in bonobo_ui_toolbar_button_item_get_type ()
   from /usr/lib/libbonoboui-2.so.0
#14 0x0033cd9d in bonobo_ui_toolbar_button_item_get_type ()
   from /usr/lib/libbonoboui-2.so.0
#15 0x0028e9ce in g_cclosure_marshal_VOID () from
/usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#16 0x0027a4f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#17 0x0027a160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0x0028dbc5 in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#19 0x0028d157 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#20 0x0028d454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0x0033f1b3 in bonobo_ui_toolbar_item_set_style ()
   from /usr/lib/libbonoboui-2.so.0
#22 0x0034091b in bonobo_ui_toolbar_get_type ()
   from /usr/lib/libbonoboui-2.so.0
#23 0x00342427 in bonobo_ui_toolbar_get_type ()
   from /usr/lib/libbonoboui-2.so.0
#24 0x0028e9ce in g_cclosure_marshal_VOID () from
/usr/lib/libgobject-2.0.so.0
#25 0x0027a4f7 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#26 0x0027a160 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#27 0x0028dbc5 in g_signal_emit_by_name () from
/usr/lib/libgobject-2.0.so.0
#28 0x0028d157 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#29 0x0028d454 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#30 0x00342f11 in bonobo_ui_toolbar_set_orientation ()
   from /usr/lib/libbonoboui-2.so.0
#31 0x003426a7 in bonobo_ui_toolbar_get_type ()
   from /usr/lib/libbonoboui-2.so.0
#32 0x0027eb66 in g_object_set_property () from
/usr/lib/libgobject-2.0.so.0
#33 0x00315666 in bonobo_dock_item_set_orientation ()
-

Comment 5 Matthias Clasen 2004-09-20 19:15:42 UTC
Yes, definitively a libbonoboui issue. Adding a GtkHandleBox to
testtoolbar shows that changing the orientation of a detached toolbar
works fine in general, and reattaching also works as expected.

Comment 6 Matthias Clasen 2004-09-21 13:43:36 UTC
Known upstream since the a long time, apparently nobody cares enough:
http://bugzilla.gnome.org/show_bug.cgi?id=131381

Comment 7 Matthias Clasen 2004-09-21 14:51:49 UTC
Federico did some work on BonoboToolbar, which is in the
toolbar-rework branch of libbonoboui. It seems to fix the problem at
hand, but unfortunately, I can get it to segfault fairly easily.

Comment 8 Zack Cerza 2004-09-21 15:19:21 UTC
If nobody wants to fix it, maybe we should at least hide it by not
allowing those affected toolbars to be moved. :(

Comment 9 Matthias Clasen 2004-09-22 13:43:53 UTC
*** Bug 133185 has been marked as a duplicate of this bug. ***

Comment 10 Matthias Clasen 2004-09-22 18:15:47 UTC
I have checked a fix in the toolbar-rework branch, which makes the
segfault go away for me. The branch would probably needs a bit of
banging to see whether all issues are fixed, but it looks better than
HEAD to me.

Comment 11 Jonathan Blandford 2004-09-22 22:08:49 UTC
To clarify; we're going to give Michael a little time to merge that
branch and do a release.  If he does so, we'll build that.  If not,
we'll have to break down and make a patch.  We should probably do this
by Friday.

Comment 12 Matthias Clasen 2004-09-24 13:50:52 UTC
Federico will merge today; not sure if there will be a release, but at
least we should be able to take a snapshot from cvs HEAD, and avoid
merging ourselves.

Comment 13 Matthias Clasen 2004-09-27 19:36:36 UTC
Fixed build should show up in rawhide soon.

Comment 14 sangu 2004-09-28 15:45:48 UTC
in libbonoboui-2.8.0.99cvs20040927-1.

1. Excute gedit in gnome-terminal.
2. Quit gedit.
3. Print following error messages.

(gedit:13358): Bonobo-WARNING **: Non-toolbar parent '<NULL-instance>'

(gedit:13358): Bonobo-CRITICAL **: file
bonobo-ui-toolbar-control-item.c: line 107
(impl_toolbar_reconfigured): assertion `toolbar != NULL' failed



Comment 16 Matthias Clasen 2004-09-29 12:43:10 UTC
Ok, closing this bug, since the toolbar dragging issue is fixed with
the new bonoboui.