From: Erich S. <er...@de...> - 2002-03-15 09:02:22
|
The patch submitted before (and already commited to cvs) had drawbacks. When the server was run with a timeout (default: 1 hour), it would respawn after that timeout with the default timeout. Furthermore, it would respawn even on "galeon -q" That means, you'll get a galeon running in server mode you cannot quit and which will be restarted every hour. So i now set that flag only for servers started with timeout 0. "galeon -q" does now terminate running servers correctly. NOTE: My patch is still missing some big issue: it does not pass the timeout parameter to the session manager. Thus once the server mode died, it will be respawned with the default timeout. A second fault or the occurring of the timeout will make it go away. So my new patch is: ----- Index: src/main.c =================================================================== RCS file: /cvs/gnome/galeon/src/main.c,v retrieving revision 1.218.2.3 diff -u -3 -p -I.*.tags -r1.218.2.3 main.c --- src/main.c 2002/02/25 21:48:51 1.218.2.3 +++ src/main.c 2002/03/15 08:11:40 @@ -628,6 +628,8 @@ galeon_init (int argc, char *argv[]) gnome_client_set_restart_command (session_client, galeon_server_mode ? 2 : 1, restart_argv); gnome_client_set_restart_style (GNOME_CLIENT (session_client), + (galeon_server_mode && (galeon_server_timeout == 0)) ? + GNOME_RESTART_IMMEDIATELY : GNOME_RESTART_IF_RUNNING); gtk_signal_connect (GTK_OBJECT (session_client), "save_yourself", (GtkSignalFunc)client_save_yourself_cb, NULL); @@ -750,6 +752,7 @@ galeon_nautilus_view_new (BonoboGenericF void galeon_exit (gboolean return_from_main_loop, gboolean unset_crashed_flag) { + GnomeClient *session_client; extern GList *mozilla_notifiers; /** @@ -787,6 +790,10 @@ galeon_exit (gboolean return_from_main_l /* shut down GNOME subsystems */ gnome_vfs_shutdown (); + + /* unregister at gnome session management */ + session_client = gnome_master_client (); + gnome_client_set_restart_style (GNOME_CLIENT (session_client), GNOME_RESTART_NEVER); /* remove notifiers for mozilla prefs */ galeon_notification_remove (&mozilla_notifiers); ------------- Greetings, Erich |