[gedit] Free plugin settings in GeditPluginsEngine



commit 2ae732a53ef08145c06909dc675134573c8c2e6d
Author: Garrett Regier <alias301 gmail com>
Date:   Thu Jul 22 08:39:02 2010 -0700

    Free plugin settings in GeditPluginsEngine

 gedit/gedit-plugins-engine.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/gedit/gedit-plugins-engine.c b/gedit/gedit-plugins-engine.c
index 79e5b03..be0c04b 100644
--- a/gedit/gedit-plugins-engine.c
+++ b/gedit/gedit-plugins-engine.c
@@ -73,6 +73,20 @@ gedit_plugins_engine_init (GeditPluginsEngine *engine)
 }
 
 static void
+gedit_plugins_engine_dispose (GObject *object)
+{
+	GeditPluginsEngine *engine = GEDIT_PLUGINS_ENGINE (object);
+
+	if (engine->priv->plugin_settings != NULL)
+	{
+		g_object_unref (engine->priv->plugin_settings);
+		engine->priv->plugin_settings = NULL;
+	}
+
+	G_OBJECT_CLASS (gedit_plugins_engine_parent_class)->dispose (object);
+}
+
+static void
 save_plugin_list (GeditPluginsEngine *engine)
 {
 	gchar **loaded_plugins;
@@ -121,8 +135,11 @@ gedit_plugins_engine_unload_plugin (PeasEngine     *engine,
 static void
 gedit_plugins_engine_class_init (GeditPluginsEngineClass *klass)
 {
+	GObjectClass *object_class = G_OBJECT_CLASS (klass);
 	PeasEngineClass *engine_class = PEAS_ENGINE_CLASS (klass);
 
+	object_class->dispose = gedit_plugins_engine_dispose;
+
 	engine_class->load_plugin = gedit_plugins_engine_load_plugin;
 	engine_class->unload_plugin = gedit_plugins_engine_unload_plugin;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]