diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | settings-daemon.c | 51 |
2 files changed, 30 insertions, 25 deletions
@@ -1,3 +1,7 @@ +2008-04-08 Thomas Wood <thomas@openedhand.com> + + * settings-daemon.c: (main): Fork only after settings have been applied + 2008-01-24 Ross Burton <ross@openedhand.com> * settings-daemon.c: diff --git a/settings-daemon.c b/settings-daemon.c index 78bdf5a..791ac17 100644 --- a/settings-daemon.c +++ b/settings-daemon.c @@ -681,31 +681,6 @@ main(int argc, char **argv) int i, n_screens; pid_t p; - if (!(argc > 1 && !strcmp(argv[1],"-n"))) - { - - g_print("[settings daemon] Forking. run with -n to prevent fork\n"); - - p = fork(); - - switch (p) - { - case -1: - g_error("Fork failed.\n"); - break; - case 0: - /* child */ - /* - fclose( stdin ); - fclose( stdout ); - */ - break; - default: - exit(0); - break; - } - } - g_type_init(); gdk_init(&argc, &argv); @@ -762,6 +737,32 @@ main(int argc, char **argv) else g_error ("Failed to initialise gconf client"); + if (!(argc > 1 && !strcmp(argv[1],"-n"))) + { + + g_print("[settings daemon] Forking. run with -n to prevent fork\n"); + + p = fork(); + + switch (p) + { + case -1: + g_error("Fork failed.\n"); + break; + case 0: + /* child */ + /* + fclose( stdin ); + fclose( stdout ); + */ + break; + default: + exit(0); + break; + } + } + + g_main_loop_run(loop); g_object_unref (gconf_client); |