diff options
Diffstat (limited to 'src/plugin.c')
-rw-r--r-- | src/plugin.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/plugin.c b/src/plugin.c index c63be7e3..be1636f5 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -299,11 +299,15 @@ static void syl_plugin_class_init(SylPluginClass *klass) void syl_plugin_signal_connect(const gchar *name, GCallback callback, gpointer data) { + g_return_if_fail(plugin_obj != NULL); + g_signal_connect(plugin_obj, name, callback, data); } void syl_plugin_signal_disconnect(gpointer func, gpointer data) { + g_return_if_fail(plugin_obj != NULL); + g_signal_handlers_disconnect_by_func(plugin_obj, func, data); } @@ -311,6 +315,8 @@ void syl_plugin_signal_emit(const gchar *name, ...) { guint signal_id; + g_return_if_fail(plugin_obj != NULL); + if (g_signal_parse_name(name, G_TYPE_FROM_INSTANCE(plugin_obj), &signal_id, NULL, FALSE)) { \ va_list var_args; @@ -345,6 +351,7 @@ gint syl_plugin_load(const gchar *name) SylPluginLoadFunc load_func = NULL; gchar *file; + g_return_val_if_fail(plugin_obj != NULL, -1); g_return_val_if_fail(name != NULL, -1); debug_print("syl_plugin_load: loading %s\n", name); @@ -425,6 +432,8 @@ void syl_plugin_unload_all(void) { GSList *cur; + g_return_if_fail(plugin_obj != NULL); + for (cur = module_list; cur != NULL; cur = cur->next) { GModule *module = (GModule *)cur->data; SylPluginUnloadFunc unload_func = NULL; |