diff options
author | Ray Strode <rstrode@redhat.com> | 2011-05-18 15:00:22 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2012-04-13 17:05:09 -0400 |
commit | 23db2f10fa0bd5adc9ac159df70c77129459468a (patch) | |
tree | 6e42eebd9caaeb8de64bdd6fb1408004f5effc0a | |
parent | c4d4e539cbd86aa73604154112404c6eac556e2c (diff) | |
download | gdm-23db2f10fa0bd5adc9ac159df70c77129459468a.tar.gz |
initial-setup: perform copy from main loop
This way we continue to slave processes replies, etc,
while the copy is going on.
-rw-r--r-- | gui/initial-setup/gdm-initial-setup.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gui/initial-setup/gdm-initial-setup.c b/gui/initial-setup/gdm-initial-setup.c index 926e4475..f72e884d 100644 --- a/gui/initial-setup/gdm-initial-setup.c +++ b/gui/initial-setup/gdm-initial-setup.c @@ -61,6 +61,8 @@ typedef struct { #define OBJ(type,name) ((type)gtk_builder_get_object(setup->builder,(name))) #define WID(name) OBJ(GtkWidget*,name) +static void copy_account_data (SetupData *setup); +static void begin_autologin (SetupData *setup); static void connect_to_slave (SetupData *setup); /* --- Welcome page --- */ @@ -1363,7 +1365,13 @@ prepare_location_page (SetupData *setup) static void close_cb (GtkAssistant *assi, gpointer data) { - gtk_main_quit (); + SetupData *setup = data; + + g_settings_sync (); + + copy_account_data (setup); + + begin_autologin (setup); } static void @@ -1385,7 +1393,7 @@ prepare_assistant (SetupData *setup) g_signal_connect (G_OBJECT (setup->assistant), "prepare", G_CALLBACK (prepare_cb), setup); g_signal_connect (G_OBJECT (setup->assistant), "close", - G_CALLBACK (close_cb), NULL); + G_CALLBACK (close_cb), setup); connect_to_slave (setup); prepare_welcome_page (setup); @@ -1497,11 +1505,5 @@ main (int argc, char *argv[]) gtk_main (); - g_settings_sync (); - - copy_account_data (setup); - - begin_autologin (setup); - return 0; } |