diff options
Diffstat (limited to 'src/common/helper.c')
-rw-r--r-- | src/common/helper.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/common/helper.c b/src/common/helper.c index 2dcbe598..97ec690c 100644 --- a/src/common/helper.c +++ b/src/common/helper.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include "gnunetgtk_common.h" | 28 | #include "gnunetgtk_common.h" |
29 | #include <GNUnet/gnunet_util_crypto.h> | 29 | #include <GNUnet/gnunet_util_crypto.h> |
30 | #include <glib.h> | 30 | #include <glib.h> |
31 | #include <gmodule.h> | ||
31 | 32 | ||
32 | #define HELPER_DEBUG NO | 33 | #define HELPER_DEBUG NO |
33 | 34 | ||
@@ -154,15 +155,6 @@ void * gtkSaveCall(PThreadMain func, | |||
154 | } | 155 | } |
155 | 156 | ||
156 | /** | 157 | /** |
157 | * Callback for handling "delete_event": close the window | ||
158 | */ | ||
159 | gint on_statusWindow_delete_event(GtkWidget * widget, | ||
160 | GdkEvent * event, | ||
161 | gpointer data) { | ||
162 | return FALSE; | ||
163 | } | ||
164 | |||
165 | /** | ||
166 | * Closure for doInfoMessage. | 158 | * Closure for doInfoMessage. |
167 | */ | 159 | */ |
168 | typedef struct { | 160 | typedef struct { |
@@ -271,6 +263,7 @@ static void connector(const gchar *handler_name, | |||
271 | GObject *connect_object, | 263 | GObject *connect_object, |
272 | gboolean after, | 264 | gboolean after, |
273 | gpointer user_data) { | 265 | gpointer user_data) { |
266 | GModule * module; | ||
274 | GladeXML * xml = user_data; | 267 | GladeXML * xml = user_data; |
275 | Plugin * plug; | 268 | Plugin * plug; |
276 | void * method; | 269 | void * method; |
@@ -289,11 +282,19 @@ static void connector(const gchar *handler_name, | |||
289 | "gnunet_gtk_main_quit")) | 282 | "gnunet_gtk_main_quit")) |
290 | method = shutdown_function; | 283 | method = shutdown_function; |
291 | if (method == NULL) { | 284 | if (method == NULL) { |
292 | GE_LOG(ectx, | 285 | module = g_module_open(NULL, 0); |
293 | GE_WARNING | GE_DEVELOPER | GE_IMMEDIATE, | 286 | if ( (module == NULL) || |
294 | _("Failed to find handler for `%s'\n"), | 287 | (TRUE != g_module_symbol(module, |
295 | handler_name); | 288 | handler_name, |
296 | return; | 289 | &method)) ) { |
290 | GE_LOG(ectx, | ||
291 | GE_WARNING | GE_DEVELOPER | GE_IMMEDIATE, | ||
292 | _("Failed to find handler for `%s'\n"), | ||
293 | handler_name); | ||
294 | g_module_close(module); | ||
295 | return; | ||
296 | } | ||
297 | g_module_close(module); | ||
297 | } | 298 | } |
298 | glade_xml_signal_connect(xml, | 299 | glade_xml_signal_connect(xml, |
299 | handler_name, | 300 | handler_name, |