diff options
Diffstat (limited to 'embed/mozilla/mozilla-embed.cpp')
-rw-r--r-- | embed/mozilla/mozilla-embed.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp index 8c39dd460..05408973f 100644 --- a/embed/mozilla/mozilla-embed.cpp +++ b/embed/mozilla/mozilla-embed.cpp @@ -382,6 +382,7 @@ static void mozilla_embed_destroy (GtkObject *object) { int i; + MozillaEmbed *embed = MOZILLA_EMBED (object); for (i = 0; signal_connections[i].event != NULL; i++) { @@ -390,6 +391,13 @@ mozilla_embed_destroy (GtkObject *object) (gpointer)signal_connections[i].func, (void *)object); } + + if (embed->priv->wrapper) + { + embed->priv->wrapper->Destroy(); + delete embed->priv->wrapper; + embed->priv->wrapper = NULL; + } GTK_OBJECT_CLASS (parent_class)->destroy (object); } @@ -406,14 +414,7 @@ mozilla_embed_finalize (GObject *object) g_return_if_fail (embed->priv != NULL); - if (embed->priv->wrapper) - { - embed->priv->wrapper->Destroy(); - delete embed->priv->wrapper; - embed->priv->wrapper = NULL; - } - - delete embed->priv; + g_free (embed->priv); G_OBJECT_CLASS (parent_class)->finalize (object); |