SF.net SVN: geany:[4108] trunk

ntrel at users.sourceforge.net ntrel at xxxxx
Tue Aug 18 15:57:50 UTC 2009


Revision: 4108
          http://geany.svn.sourceforge.net/geany/?rev=4108&view=rev
Author:   ntrel
Date:     2009-08-18 15:57:50 +0000 (Tue, 18 Aug 2009)

Log Message:
-----------
Merge Plugin and GeanyPluginPrivate structs.

Modified Paths:
--------------
    trunk/ChangeLog
    trunk/src/pluginprivate.h
    trunk/src/plugins.c
    trunk/src/pluginutils.c

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2009-08-18 14:26:36 UTC (rev 4107)
+++ trunk/ChangeLog	2009-08-18 15:57:50 UTC (rev 4108)
@@ -8,6 +8,8 @@
  * src/callbacks.c:
    Fix using 'Insert date' keybinding when a custom date string has
    not been set.
+ * src/pluginprivate.h, src/pluginutils.c, src/plugins.c:
+   Merge Plugin and GeanyPluginPrivate structs.
 
 
 2009-08-18  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>

Modified: trunk/src/pluginprivate.h
===================================================================
--- trunk/src/pluginprivate.h	2009-08-18 14:26:36 UTC (rev 4107)
+++ trunk/src/pluginprivate.h	2009-08-18 15:57:50 UTC (rev 4108)
@@ -26,8 +26,10 @@
 #ifndef PLUGINPRIVATE_H
 #define PLUGINPRIVATE_H
 
-#include "ui_utils.h"
+#include "ui_utils.h"	/* GeanyAutoSeparator */
+#include "keybindings.h"	/* GeanyKeyGroup */
 
+
 typedef struct SignalConnection
 {
 	GObject	*object;
@@ -35,11 +37,24 @@
 }
 SignalConnection;
 
+
 typedef struct GeanyPluginPrivate
 {
+	GModule 		*module;
+	gchar			*filename;				/* plugin filename (/path/libname.so) */
+	PluginInfo		info;				/* plugin name, description, etc */
+	GeanyPlugin		public;				/* fields the plugin can read */
+
+	void		(*init) (GeanyData *data);			/* Called when the plugin is enabled */
+	GtkWidget*	(*configure) (GtkDialog *dialog);	/* plugin configure dialog, optional */
+	void		(*help) (void);					/* Called when the plugin should show some help, optional */
+	void		(*cleanup) (void);					/* Called when the plugin is disabled or when Geany exits */
+
+	/* extra stuff */
+	PluginFields	fields;
+	GeanyKeyGroup	*key_group;
 	GeanyAutoSeparator	toolbar_separator;
-	gboolean			resident;
-	GArray				*signal_ids;			/* SignalConnection's to disconnect when unloading */
+	GArray			*signal_ids;			/* SignalConnection's to disconnect when unloading */
 }
 GeanyPluginPrivate;
 

Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c	2009-08-18 14:26:36 UTC (rev 4107)
+++ trunk/src/plugins.c	2009-08-18 15:57:50 UTC (rev 4108)
@@ -62,26 +62,9 @@
 #include "pluginutils.h"
 #include "pluginprivate.h"
 
+typedef GeanyPluginPrivate Plugin;	/* shorter alias */
 
-typedef struct Plugin
-{
-	GModule 	*module;
-	gchar		*filename;				/* plugin filename (/path/libname.so) */
-	PluginInfo		info;				/* plugin name, description, etc */
-	PluginFields	fields;
-	GeanyPlugin		public;				/* fields the plugin can read */
-	GeanyPluginPrivate	priv;			/* GeanyPlugin type private data, same as (*public.priv) */
 
-	GeanyKeyGroup	*key_group;
-
-	void		(*init) (GeanyData *data);			/* Called when the plugin is enabled */
-	GtkWidget*	(*configure) (GtkDialog *dialog);	/* plugin configure dialog, optional */
-	void		(*help) (void);					/* Called when the plugin should show some help, optional */
-	void		(*cleanup) (void);					/* Called when the plugin is disabled or when Geany exits */
-}
-Plugin;
-
-
 static gboolean want_plugins = FALSE;
 
 /* list of all available, loadable plugins, only valid as long as the plugin manager dialog is
@@ -534,9 +517,6 @@
 	g_return_if_fail(plugin->init);
 	plugin->init(&geany_data);
 
-	if (p_geany_plugin && (*p_geany_plugin)->priv->resident)
-		g_module_make_resident(plugin->module);
-
 	/* store some function pointers for later use */
 	g_module_symbol(plugin->module, "plugin_configure", (void *) &plugin->configure);
 	g_module_symbol(plugin->module, "plugin_help", (void *) &plugin->help);
@@ -667,7 +647,7 @@
 	plugin->filename = g_strdup(fname);
 	plugin->module = module;
 	plugin->public.info = &plugin->info;
-	plugin->public.priv = &plugin->priv;
+	plugin->public.priv = plugin;
 
 	if (init_plugin)
 		plugin_init(plugin);
@@ -681,7 +661,7 @@
 
 static void remove_callbacks(Plugin *plugin)
 {
-	GArray *signal_ids = plugin->priv.signal_ids;
+	GArray *signal_ids = plugin->signal_ids;
 	SignalConnection *sc;
 
 	if (signal_ids == NULL)
@@ -714,7 +694,7 @@
 	if (plugin->key_group)
 		g_ptr_array_remove_fast(keybinding_groups, plugin->key_group);
 
-	widget = plugin->priv.toolbar_separator.widget;
+	widget = plugin->toolbar_separator.widget;
 	if (widget)
 		gtk_widget_destroy(widget);
 

Modified: trunk/src/pluginutils.c
===================================================================
--- trunk/src/pluginutils.c	2009-08-18 14:26:36 UTC (rev 4107)
+++ trunk/src/pluginutils.c	2009-08-18 15:57:50 UTC (rev 4108)
@@ -88,7 +88,7 @@
 {
 	g_return_if_fail(plugin);
 
-	plugin->priv->resident = TRUE;
+	g_module_make_resident(plugin->priv->module);
 }
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Commits mailing list