Sophie

Sophie

distrib > Mandriva > 2009.0 > x86_64 > by-pkgid > 8604cbc4d16ebbba706929d8df6004ee > files > 1

nspluginwrapper-1.1.0-7mdv2009.0.src.rpm

diff -up nspluginwrapper-0.9.91.5/src/npw-viewer.c.old nspluginwrapper-0.9.91.5/src/npw-viewer.c
--- nspluginwrapper-0.9.91.5/src/npw-viewer.c.old	2008-01-14 13:28:57.000000000 +0100
+++ nspluginwrapper-0.9.91.5/src/npw-viewer.c	2008-01-14 13:30:35.000000000 +0100
@@ -3112,6 +3112,12 @@ static GSourceFuncs rpc_event_funcs = {
   (GSourceDummyMarshal)NULL
 };
 
+static void plugin_kill(rpc_connection_t *connection)
+{
+  D(bug("plugin_kill, connection %p\n",connection));
+  gtk_main_quit();
+}
+
 
 /* ====================================================================== */
 /* === Main program                                                   === */
@@ -3220,6 +3226,9 @@ static int do_main(int argc, char **argv
   g_source_set_callback(rpc_source, (GSourceFunc)rpc_dispatch, g_rpc_connection, NULL);
   g_source_add_poll(rpc_source, &rpc_event_poll_fd);
 
+  // Set error handler - stop plugin if there's a connection error
+  rpc_connection_error_callback_set(g_rpc_connection, plugin_kill);
+ 
   gtk_main();
   D(bug("--- EXIT ---\n"));