GNOME Bugzilla – Bug 653435
clutter-gtk: gtk_clutter_embed_unmap does not check whether internal priv->stage has been deleted
Last modified: 2011-06-26 17:38:56 UTC
A GtkWidget's ->unmap function may be called after the ->dispose function has run. I discovered this bug while converting Empathy's video-widget from GtkDrawingArea to GtkClutterEmbed: Empathy calls the widget's ->destroy without hiding the widget. Because of that the destroy call ran first, and after a while, the gtk would call the widget's ->unmap function.
I posted the bug here because there's no clutter-gtk entry anywhere else (at least not in gnome's and clutter's bugzillas) and that's what I was advised to do on IRC.
Created attachment 190701 [details] [review] embed: unmap: check stage exists before unmapping There is a similar check already done in gtk_clutter_embed_hide().
Attachment 190701 [details] pushed as 0ec642a - embed: unmap: check stage exists before unmapping