SF.net SVN: geany: [1747] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Thu Jul 26 12:06:12 UTC 2007
Revision: 1747
http://geany.svn.sourceforge.net/geany/?rev=1747&view=rev
Author: ntrel
Date: 2007-07-26 05:06:12 -0700 (Thu, 26 Jul 2007)
Log Message:
-----------
Use a single PluginData struct for all plugins.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/plugins.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-07-26 12:03:14 UTC (rev 1746)
+++ trunk/ChangeLog 2007-07-26 12:06:12 UTC (rev 1747)
@@ -2,6 +2,8 @@
* src/highlighting.c:
Ignore whitespace_chars for Haxe.
+ * src/plugins.c:
+ Use a single PluginData struct for all plugins.
2007-07-26 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c 2007-07-26 12:03:14 UTC (rev 1746)
+++ trunk/src/plugins.c 2007-07-26 12:06:12 UTC (rev 1747)
@@ -42,7 +42,6 @@
{
GModule *module;
gchar *filename; // plugin filename (/path/libname.so)
- PluginData data;
PluginFields fields;
PluginInfo* (*info) (); /* Returns plugin name, description */
@@ -86,19 +85,25 @@
&ui_frame_new_with_alignment
};
+static PluginData geany_data = {
+ NULL,
+ NULL,
+ NULL,
+ &doc_funcs,
+ &sci_funcs,
+ &template_funcs,
+ &utils_funcs,
+ &uiutils_funcs,
+};
+
+
static void
-init_plugin_data(PluginData *data)
+geany_data_init()
{
- data->app = app;
- data->tools_menu = lookup_widget(app->window, "tools1_menu");
- data->doc_array = doc_array;
-
- data->document = &doc_funcs;
- data->sci = &sci_funcs;
- data->templates = &template_funcs;
- data->utils = &utils_funcs;
- data->ui = &uiutils_funcs;
+ geany_data.app = app;
+ geany_data.tools_menu = lookup_widget(app->window, "tools1_menu");
+ geany_data.doc_array = doc_array;
}
@@ -206,8 +211,6 @@
plugin->filename = g_strdup(fname);
plugin->module = module;
- init_plugin_data(&plugin->data);
-
g_module_symbol(module, "plugin_fields", (void *) &plugin_fields);
if (plugin_fields)
*plugin_fields = &plugin->fields;
@@ -222,7 +225,7 @@
}
if (plugin->init)
- plugin->init(&plugin->data);
+ plugin->init(&geany_data);
if (plugin->fields.flags & PLUGIN_IS_DOCUMENT_SENSITIVE)
{
@@ -260,7 +263,8 @@
PACKAGE_DATA_DIR G_DIR_SEPARATOR_S ".." G_DIR_SEPARATOR_S "lib" \
G_DIR_SEPARATOR_S PACKAGE
-void plugins_init()
+static void
+load_plugins()
{
const gchar *path = LIBDIR;
GSList *list, *item;
@@ -285,6 +289,13 @@
}
+void plugins_init()
+{
+ geany_data_init();
+ load_plugins();
+}
+
+
void plugins_free()
{
if (plugin_list != NULL)
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