summaryrefslogtreecommitdiff
path: root/clutter-gtk/gtk-clutter-embed.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@linux.intel.com>2010-01-06 17:37:40 +0000
committerEmmanuele Bassi <ebassi@linux.intel.com>2010-01-06 17:37:40 +0000
commitfeeadc6096201049b1d3f5082de2a3266fc84f0e (patch)
treea1ed207ce7e630993fd08dc1a7feab434c0ed101 /clutter-gtk/gtk-clutter-embed.c
parent93502e8cb9eb70c016dce2a3fe307c02b03502d3 (diff)
downloadclutter-gtk-feeadc6096201049b1d3f5082de2a3266fc84f0e.tar.gz
embed: Check the stage before disconnecting signals
The stage might have been destroyed already when we get to the signal disconnection, in which case we can safely unset the signal handler id and just fall through.
Diffstat (limited to 'clutter-gtk/gtk-clutter-embed.c')
-rw-r--r--clutter-gtk/gtk-clutter-embed.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/clutter-gtk/gtk-clutter-embed.c b/clutter-gtk/gtk-clutter-embed.c
index bd4b5c0..7ab6b9f 100644
--- a/clutter-gtk/gtk-clutter-embed.c
+++ b/clutter-gtk/gtk-clutter-embed.c
@@ -121,7 +121,9 @@ gtk_clutter_embed_dispose (GObject *gobject)
if (priv->queue_redraw_id)
{
- g_signal_handler_disconnect (priv->stage, priv->queue_redraw_id);
+ if (priv->stage != NULL)
+ g_signal_handler_disconnect (priv->stage, priv->queue_redraw_id);
+
priv->queue_redraw_id = 0;
}