aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--src/ephy-extensions-manager.c16
2 files changed, 16 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 420bcd6ab..ae9df236c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2005-01-27 Jean-François Rameau <jframeau@cvs.gnome.org>
+
+ * src/ephy-extensions-manager.c: (unload_extension):
+
+ Extension manager owns only one ref on extensions which
+ don't implement EphyExtension interface. Only their loader has
+ to unref them.
+
2005-01-26 Christian Persch <chpe@cvs.gnome.org>
* src/ephy-fullscreen-popup.c:
diff --git a/src/ephy-extensions-manager.c b/src/ephy-extensions-manager.c
index 1477b05cd..245c72dfe 100644
--- a/src/ephy-extensions-manager.c
+++ b/src/ephy-extensions-manager.c
@@ -898,15 +898,15 @@ unload_extension (EphyExtensionsManager *manager,
manager->priv->extensions =
g_list_remove (manager->priv->extensions, info->extension);
- }
- /* we own two refs to the extension, the one we added when
- * we added it to the priv->extensions list, and the one returned
- * from get_object. Release object, and queue a unref, since if the
- * extension has its own functions queued in the idle loop, the
- * functions must exist in memory before being called.
- */
- g_idle_add ((GSourceFunc) idle_unref, info->extension);
+ /* we own two refs to the extension, the one we added when
+ * we added it to the priv->extensions list, and the one returned
+ * from get_object. Release object, and queue a unref, since if the
+ * extension has its own functions queued in the idle loop, the
+ * functions must exist in memory before being called.
+ */
+ g_idle_add ((GSourceFunc) idle_unref, info->extension);
+ }
ephy_loader_release_object (info->loader, G_OBJECT (info->extension));