GNOME Bugzilla – Bug 641325
Crash in _gtk_style_context_coalesce_animation_areas (gtkstylecontext.c)
Last modified: 2011-07-19 14:53:21 UTC
I'm getting following crash in gnome-panel-2.91.6 / gtk+-2.99.3 when clicking on a launcher icon sitting on a panel: [snip] Program received signal SIGSEGV, Segmentation fault. _gtk_style_context_coalesce_animation_areas (context=0x0, widget=0x285f600) at gtkstylecontext.c:3150 3150 gtkstylecontext.c: No such file or directory. in gtkstylecontext.c (gdb) bt
+ Trace 225827
[/snip]
I discovered this wart in gnome-panel (xstuff.c, zoom_draw ()): static gboolean zoom_draw (GtkWidget *widget, cairo_t *cr, gpointer user_data) { ... if (zoom->size >= zoom->size_end) { ... gtk_widget_destroy (widget); } } Even if it was working before, destroying a widget in the middle of a signal emission is somewhat evil, as it leaves no opportunity to handle it in any further operations on the object that GTK could make, nor a way to see it was destroyed. Moving to gnome-panel.
tip: work around - disable composite
Perfectly reproducible here. I will try to look into this tomorrow with Vincent.
Created attachment 184956 [details] [review] Move the gtk_widget_destroy away Moving the gtk_widget_destroy call in an idle function indeed does the trick, thanks Carlos.
*** Bug 647389 has been marked as a duplicate of this bug. ***
Thanks, pushed!
*** Bug 654672 has been marked as a duplicate of this bug. ***