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 653435 - clutter-gtk: gtk_clutter_embed_unmap does not check whether internal priv->stage has been deleted
clutter-gtk: gtk_clutter_embed_unmap does not check whether internal priv->st...
Status: RESOLVED FIXED
Product: clutter
Classification: Platform
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: clutter-maint
clutter-maint
Depends on:
Blocks:
 
 
Reported: 2011-06-26 16:51 UTC by Raluca-Elena Podiuc
Modified: 2011-06-26 17:38 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
embed: unmap: check stage exists before unmapping (967 bytes, patch)
2011-06-26 16:58 UTC, Raluca-Elena Podiuc
committed Details | Review

Description Raluca-Elena Podiuc 2011-06-26 16:51:57 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.
Comment 1 Raluca-Elena Podiuc 2011-06-26 16:53:41 UTC
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.
Comment 2 Raluca-Elena Podiuc 2011-06-26 16:58:28 UTC
Created attachment 190701 [details] [review]
embed: unmap: check stage exists before unmapping

There is a similar check already done in gtk_clutter_embed_hide().
Comment 3 Emmanuele Bassi (:ebassi) 2011-06-26 17:38:53 UTC
Attachment 190701 [details] pushed as 0ec642a - embed: unmap: check stage exists before unmapping