diff options
author | Perberos <[email protected]> | 2011-11-06 10:21:31 -0300 |
---|---|---|
committer | Perberos <[email protected]> | 2011-11-06 10:21:31 -0300 |
commit | 8e617a6b7b9742e055148b0e8ebb5982fe64bf9b (patch) | |
tree | cd2a8d36ae78a86262ad1b2a8ca8e87026028c53 /src/mate-screensaver-dialog.c | |
parent | 43cee15f735cfdf2615306209990a3cecae21724 (diff) | |
download | mate-screensaver-8e617a6b7b9742e055148b0e8ebb5982fe64bf9b.tar.bz2 mate-screensaver-8e617a6b7b9742e055148b0e8ebb5982fe64bf9b.tar.xz |
allman
Diffstat (limited to 'src/mate-screensaver-dialog.c')
-rw-r--r-- | src/mate-screensaver-dialog.c | 583 |
1 files changed, 265 insertions, 318 deletions
diff --git a/src/mate-screensaver-dialog.c b/src/mate-screensaver-dialog.c index d698159..10083aa 100644 --- a/src/mate-screensaver-dialog.c +++ b/src/mate-screensaver-dialog.c @@ -44,146 +44,114 @@ #define MAX_FAILURES 5 -static gboolean verbose = FALSE; -static gboolean show_version = FALSE; -static gboolean enable_logout = FALSE; -static gboolean enable_switch = FALSE; -static char *logout_command = NULL; -static char *status_message = NULL; -static char *away_message = NULL; - -static GOptionEntry entries [] = -{ - { - "verbose", 0, 0, G_OPTION_ARG_NONE, &verbose, - N_("Show debugging output"), NULL - }, - { - "version", 0, 0, G_OPTION_ARG_NONE, &show_version, - N_("Version of this application"), NULL - }, - { - "enable-logout", 0, 0, G_OPTION_ARG_NONE, &enable_logout, - N_("Show the logout button"), NULL - }, - { - "logout-command", 0, 0, G_OPTION_ARG_STRING, &logout_command, - N_("Command to invoke from the logout button"), NULL - }, - { - "enable-switch", 0, 0, G_OPTION_ARG_NONE, &enable_switch, - N_("Show the switch user button"), NULL - }, - { - "status-message", 0, 0, G_OPTION_ARG_STRING, &status_message, - N_("Message to show in the dialog"), N_("MESSAGE") - }, - { - "away-message", 0, 0, G_OPTION_ARG_STRING, &away_message, - N_("Not used"), N_("MESSAGE") - }, - { NULL } +static gboolean verbose = FALSE; +static gboolean show_version = FALSE; +static gboolean enable_logout = FALSE; +static gboolean enable_switch = FALSE; +static char* logout_command = NULL; +static char* status_message = NULL; +static char* away_message = NULL; + +static GOptionEntry entries[] = { + {"verbose", 0, 0, G_OPTION_ARG_NONE, &verbose, N_("Show debugging output"), NULL}, + {"version", 0, 0, G_OPTION_ARG_NONE, &show_version, N_("Version of this application"), NULL}, + {"enable-logout", 0, 0, G_OPTION_ARG_NONE, &enable_logout, N_("Show the logout button"), NULL}, + {"logout-command", 0, 0, G_OPTION_ARG_STRING, &logout_command, N_("Command to invoke from the logout button"), NULL}, + {"enable-switch", 0, 0, G_OPTION_ARG_NONE, &enable_switch, N_("Show the switch user button"), NULL}, + {"status-message", 0, 0, G_OPTION_ARG_STRING, &status_message, N_("Message to show in the dialog"), N_("MESSAGE")}, + {"away-message", 0, 0, G_OPTION_ARG_STRING, &away_message, N_("Not used"), N_("MESSAGE")}, + {NULL} }; -static char * -get_id_string (GtkWidget *widget) +static char* get_id_string(GtkWidget* widget) { - char *id = NULL; + char* id = NULL; - g_return_val_if_fail (widget != NULL, NULL); - g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); + g_return_val_if_fail(widget != NULL, NULL); + g_return_val_if_fail(GTK_IS_WIDGET(widget), NULL); - id = g_strdup_printf ("%" G_GUINT32_FORMAT, - (guint32) GDK_WINDOW_XID (widget->window)); + id = g_strdup_printf("%" G_GUINT32_FORMAT, (guint32) GDK_WINDOW_XID(widget->window)); return id; } -static gboolean -print_id (GtkWidget *widget) +static gboolean print_id(GtkWidget* widget) { - char *id; + char* id; - gs_profile_start (NULL); + gs_profile_start(NULL); - id = get_id_string (widget); - printf ("WINDOW ID=%s\n", id); - fflush (stdout); + id = get_id_string(widget); + printf("WINDOW ID=%s\n", id); + fflush(stdout); - gs_profile_end (NULL); + gs_profile_end(NULL); - g_free (id); + g_free(id); return FALSE; } -static void -response_cancel (void) +static void response_cancel(void) { - printf ("RESPONSE=CANCEL\n"); - fflush (stdout); + printf("RESPONSE=CANCEL\n"); + fflush(stdout); } -static void -response_ok (void) +static void response_ok(void) { - printf ("RESPONSE=OK\n"); - fflush (stdout); + printf("RESPONSE=OK\n"); + fflush(stdout); } -static gboolean -quit_response_ok (void) +static gboolean quit_response_ok(void) { - response_ok (); - gtk_main_quit (); + response_ok(); + gtk_main_quit(); return FALSE; } -static gboolean -quit_response_cancel (void) +static gboolean quit_response_cancel(void) { - response_cancel (); - gtk_main_quit (); + response_cancel(); + gtk_main_quit(); return FALSE; } -static void -response_lock_init_failed (void) +static void response_lock_init_failed(void) { /* if we fail to lock then we should drop the dialog */ - response_ok (); + response_ok(); } -static char * -request_response (GSLockPlug *plug, - const char *prompt, - gboolean visible) +static char* request_response(GSLockPlug* plug, const char* prompt, gboolean visible) { - int response; - char *text; + int response; + char* text; - gs_lock_plug_set_sensitive (plug, TRUE); - gs_lock_plug_enable_prompt (plug, prompt, visible); - response = gs_lock_plug_run (plug); + gs_lock_plug_set_sensitive(plug, TRUE); + gs_lock_plug_enable_prompt(plug, prompt, visible); + response = gs_lock_plug_run(plug); gs_debug ("got response: %d", response); text = NULL; + if (response == GS_LOCK_PLUG_RESPONSE_OK) { - gs_lock_plug_get_text (plug, &text); + gs_lock_plug_get_text(plug, &text); } - gs_lock_plug_disable_prompt (plug); + + gs_lock_plug_disable_prompt(plug); return text; } /* Adapted from MDM2 daemon/verify-pam.c on 2006-06-13 */ -static const char * -maybe_translate_message (const char *msg) +static const char* maybe_translate_message(const char* msg) { - char *s; - const char *ret; - static GHashTable *hash = NULL; + char* s; + const char* ret; + static GHashTable* hash = NULL; if (hash == NULL) { @@ -193,31 +161,31 @@ maybe_translate_message (const char *msg) some of these messages to be more sane. */ hash = g_hash_table_new (g_str_hash, g_str_equal); /* login: is whacked always translate to Username: */ - g_hash_table_insert (hash, "login:", _("Username:")); - g_hash_table_insert (hash, "Username:", _("Username:")); - g_hash_table_insert (hash, "username:", _("Username:")); - g_hash_table_insert (hash, "Password:", _("Password:")); - g_hash_table_insert (hash, "password:", _("Password:")); - g_hash_table_insert (hash, "You are required to change your password immediately (password aged)", _("You are required to change your password immediately (password aged)")); - g_hash_table_insert (hash, "You are required to change your password immediately (root enforced)", _("You are required to change your password immediately (root enforced)")); - g_hash_table_insert (hash, "Your account has expired; please contact your system administrator", _("Your account has expired; please contact your system administrator")); - g_hash_table_insert (hash, "No password supplied", _("No password supplied")); - g_hash_table_insert (hash, "Password unchanged", _("Password unchanged")); - g_hash_table_insert (hash, "Can not get username", _("Can not get username")); - g_hash_table_insert (hash, "Retype new UNIX password:", _("Retype new UNIX password:")); - g_hash_table_insert (hash, "Enter new UNIX password:", _("Enter new UNIX password:")); - g_hash_table_insert (hash, "(current) UNIX password:", _("(current) UNIX password:")); - g_hash_table_insert (hash, "Error while changing NIS password.", _("Error while changing NIS password.")); - g_hash_table_insert (hash, "You must choose a longer password", _("You must choose a longer password")); - g_hash_table_insert (hash, "Password has been already used. Choose another.", _("Password has been already used. Choose another.")); - g_hash_table_insert (hash, "You must wait longer to change your password", _("You must wait longer to change your password")); - g_hash_table_insert (hash, "Sorry, passwords do not match", _("Sorry, passwords do not match")); + g_hash_table_insert(hash, "login:", _("Username:")); + g_hash_table_insert(hash, "Username:", _("Username:")); + g_hash_table_insert(hash, "username:", _("Username:")); + g_hash_table_insert(hash, "Password:", _("Password:")); + g_hash_table_insert(hash, "password:", _("Password:")); + g_hash_table_insert(hash, "You are required to change your password immediately (password aged)", _("You are required to change your password immediately (password aged)")); + g_hash_table_insert(hash, "You are required to change your password immediately (root enforced)", _("You are required to change your password immediately (root enforced)")); + g_hash_table_insert(hash, "Your account has expired; please contact your system administrator", _("Your account has expired; please contact your system administrator")); + g_hash_table_insert(hash, "No password supplied", _("No password supplied")); + g_hash_table_insert(hash, "Password unchanged", _("Password unchanged")); + g_hash_table_insert(hash, "Can not get username", _("Can not get username")); + g_hash_table_insert(hash, "Retype new UNIX password:", _("Retype new UNIX password:")); + g_hash_table_insert(hash, "Enter new UNIX password:", _("Enter new UNIX password:")); + g_hash_table_insert(hash, "(current) UNIX password:", _("(current) UNIX password:")); + g_hash_table_insert(hash, "Error while changing NIS password.", _("Error while changing NIS password.")); + g_hash_table_insert(hash, "You must choose a longer password", _("You must choose a longer password")); + g_hash_table_insert(hash, "Password has been already used. Choose another.", _("Password has been already used. Choose another.")); + g_hash_table_insert(hash, "You must wait longer to change your password", _("You must wait longer to change your password")); + g_hash_table_insert(hash, "Sorry, passwords do not match", _("Sorry, passwords do not match")); /* FIXME: what about messages which have some variables in them, perhaps try to do those as well */ } - s = g_strstrip (g_strdup (msg)); - ret = g_hash_table_lookup (hash, s); - g_free (s); + s = g_strstrip(g_strdup(msg)); + ret = g_hash_table_lookup(hash, s); + g_free(s); if (ret != NULL) { @@ -229,165 +197,154 @@ maybe_translate_message (const char *msg) } } -static gboolean -auth_message_handler (GSAuthMessageStyle style, - const char *msg, - char **response, - gpointer data) +static gboolean auth_message_handler(GSAuthMessageStyle style, const char* msg, char** response, gpointer data) { - gboolean ret; - GSLockPlug *plug; - const char *message; + gboolean ret; + GSLockPlug* plug; + const char* message; - plug = GS_LOCK_PLUG (data); + plug = GS_LOCK_PLUG(data); - gs_profile_start (NULL); - gs_debug ("Got message style %d: '%s'", style, msg); + gs_profile_start(NULL); + gs_debug("Got message style %d: '%s'", style, msg); - gtk_widget_show (GTK_WIDGET (plug)); - gs_lock_plug_set_ready (plug); + gtk_widget_show(GTK_WIDGET(plug)); + gs_lock_plug_set_ready(plug); ret = TRUE; *response = NULL; - message = maybe_translate_message (msg); + message = maybe_translate_message(msg); switch (style) { - case GS_AUTH_MESSAGE_PROMPT_ECHO_ON: - if (msg != NULL) - { - char *resp; - resp = request_response (plug, message, TRUE); - *response = resp; - } - break; - case GS_AUTH_MESSAGE_PROMPT_ECHO_OFF: - if (msg != NULL) - { - char *resp; - resp = request_response (plug, message, FALSE); - *response = resp; - } - break; - case GS_AUTH_MESSAGE_ERROR_MSG: - gs_lock_plug_show_message (plug, message); - break; - case GS_AUTH_MESSAGE_TEXT_INFO: - gs_lock_plug_show_message (plug, message); - break; - default: - g_assert_not_reached (); + case GS_AUTH_MESSAGE_PROMPT_ECHO_ON: + if (msg != NULL) + { + char *resp; + resp = request_response(plug, message, TRUE); + *response = resp; + } + break; + case GS_AUTH_MESSAGE_PROMPT_ECHO_OFF: + if (msg != NULL) + { + char *resp; + resp = request_response(plug, message, FALSE); + *response = resp; + } + break; + case GS_AUTH_MESSAGE_ERROR_MSG: + gs_lock_plug_show_message(plug, message); + break; + case GS_AUTH_MESSAGE_TEXT_INFO: + gs_lock_plug_show_message(plug, message); + break; + default: + g_assert_not_reached(); } if (*response == NULL) { - gs_debug ("Got no response"); + gs_debug("Got no response"); ret = FALSE; } else { - gs_lock_plug_show_message (plug, _("Checking...")); - gs_lock_plug_set_sensitive (plug, FALSE); + gs_lock_plug_show_message(plug, _("Checking...")); + gs_lock_plug_set_sensitive(plug, FALSE); } /* we may have pending events that should be processed before continuing back into PAM */ - while (gtk_events_pending ()) + while (gtk_events_pending()) { - gtk_main_iteration (); + gtk_main_iteration(); } - gs_lock_plug_set_busy (plug); - gs_profile_end (NULL); + gs_lock_plug_set_busy(plug); + gs_profile_end(NULL); return ret; } -static gboolean -reset_idle_cb (GSLockPlug *plug) +static gboolean reset_idle_cb(GSLockPlug* plug) { - gs_lock_plug_set_sensitive (plug, TRUE); - gs_lock_plug_show_message (plug, NULL); + gs_lock_plug_set_sensitive(plug, TRUE); + gs_lock_plug_show_message(plug, NULL); return FALSE; } -static gboolean -do_auth_check (GSLockPlug *plug) +static gboolean do_auth_check(GSLockPlug* plug) { - GError *error; + GError* error; gboolean res; error = NULL; - gs_lock_plug_disable_prompt (plug); - gs_lock_plug_set_busy (plug); - res = gs_auth_verify_user (g_get_user_name (), g_getenv ("DISPLAY"), auth_message_handler, plug, &error); + gs_lock_plug_disable_prompt(plug); + gs_lock_plug_set_busy(plug); + res = gs_auth_verify_user(g_get_user_name(), g_getenv("DISPLAY"), auth_message_handler, plug, &error); + + gs_debug("Verify user returned: %s", res ? "TRUE" : "FALSE"); - gs_debug ("Verify user returned: %s", res ? "TRUE" : "FALSE"); if (! res) { if (error != NULL) { - gs_debug ("Verify user returned error: %s", error->message); - gs_lock_plug_show_message (plug, error->message); + gs_debug("Verify user returned error: %s", error->message); + gs_lock_plug_show_message(plug, error->message); } else { - gs_lock_plug_show_message (plug, _("Authentication failed.")); + gs_lock_plug_show_message(plug, _("Authentication failed.")); } - printf ("NOTICE=AUTH FAILED\n"); - fflush (stdout); + printf("NOTICE=AUTH FAILED\n"); + fflush(stdout); if (error != NULL) { - g_error_free (error); + g_error_free(error); } } return res; } -static void -response_cb (GSLockPlug *plug, - gint response_id) +static void response_cb(GSLockPlug* plug, gint response_id) { - if ((response_id == GS_LOCK_PLUG_RESPONSE_CANCEL) || - (response_id == GTK_RESPONSE_DELETE_EVENT)) + if ((response_id == GS_LOCK_PLUG_RESPONSE_CANCEL) || (response_id == GTK_RESPONSE_DELETE_EVENT)) { - quit_response_cancel (); + quit_response_cancel(); } } -static gboolean -response_request_quit (void) +static gboolean response_request_quit(void) { - printf ("REQUEST QUIT\n"); - fflush (stdout); + printf("REQUEST QUIT\n"); + fflush(stdout); return FALSE; } -static gboolean -quit_timeout_cb (gpointer data) +static gboolean quit_timeout_cb(gpointer data) { - gtk_main_quit (); + gtk_main_quit(); return FALSE; } -static gboolean -auth_check_idle (GSLockPlug *plug) +static gboolean auth_check_idle(GSLockPlug* plug) { - gboolean res; - gboolean again; + gboolean res; + gboolean again; static guint loop_counter = 0; again = TRUE; - res = do_auth_check (plug); + res = do_auth_check(plug); if (res) { again = FALSE; - g_idle_add ((GSourceFunc)quit_response_ok, NULL); + g_idle_add((GSourceFunc) quit_response_ok, NULL); } else { @@ -396,7 +353,7 @@ auth_check_idle (GSLockPlug *plug) if (loop_counter < MAX_FAILURES) { gs_debug ("Authentication failed, retrying (%u)", loop_counter); - g_timeout_add (3000, (GSourceFunc)reset_idle_cb, plug); + g_timeout_add (3000, (GSourceFunc) reset_idle_cb, plug); } else { @@ -405,58 +362,55 @@ auth_check_idle (GSLockPlug *plug) /* Don't quit immediately, but rather request that mate-screensaver * terminates us after it has finished the dialog shake. Time out * after 5 seconds and quit anyway if this doesn't happen though */ - g_idle_add ((GSourceFunc)response_request_quit, NULL); - g_timeout_add (5000, (GSourceFunc)quit_timeout_cb, NULL); + g_idle_add((GSourceFunc) response_request_quit, NULL); + g_timeout_add(5000, (GSourceFunc) quit_timeout_cb, NULL); } } return again; } -static void -show_cb (GtkWidget *widget, - gpointer data) +static void show_cb(GtkWidget* widget, gpointer data) { - print_id (widget); + print_id(widget); } -static gboolean -popup_dialog_idle (void) +static gboolean popup_dialog_idle(void) { - GtkWidget *widget; + GtkWidget* widget; - gs_profile_start (NULL); + gs_profile_start(NULL); - widget = gs_lock_plug_new (); + widget = gs_lock_plug_new(); if (enable_logout) { - g_object_set (widget, "logout-enabled", TRUE, NULL); + g_object_set(widget, "logout-enabled", TRUE, NULL); } if (logout_command) { - g_object_set (widget, "logout-command", logout_command, NULL); + g_object_set(widget, "logout-command", logout_command, NULL); } if (enable_switch) { - g_object_set (widget, "switch-enabled", TRUE, NULL); + g_object_set(widget, "switch-enabled", TRUE, NULL); } if (status_message) { - g_object_set (widget, "status-message", status_message, NULL); + g_object_set(widget, "status-message", status_message, NULL); } - g_signal_connect (GS_LOCK_PLUG (widget), "response", G_CALLBACK (response_cb), NULL); - g_signal_connect (widget, "show", G_CALLBACK (show_cb), NULL); + g_signal_connect(GS_LOCK_PLUG(widget), "response", G_CALLBACK(response_cb), NULL); + g_signal_connect(widget, "show", G_CALLBACK(show_cb), NULL); - gtk_widget_realize (widget); + gtk_widget_realize(widget); - g_idle_add ((GSourceFunc)auth_check_idle, widget); + g_idle_add((GSourceFunc) auth_check_idle, widget); - gs_profile_end (NULL); + gs_profile_end(NULL); return FALSE; } @@ -470,42 +424,37 @@ popup_dialog_idle (void) If the executable is setuid root, then these initializations are run as root, before discarding privileges. */ -static gboolean -privileged_initialization (int *argc, - char **argv, - gboolean verbose) +static gboolean privileged_initialization(int* argc, char** argv, gboolean verbose) { gboolean ret; - char *nolock_reason; - char *orig_uid; - char *uid_message; + char* nolock_reason; + char* orig_uid; + char* uid_message; - gs_profile_start (NULL); + gs_profile_start(NULL); -#ifndef NO_LOCKING - /* before hack_uid () for proper permissions */ - gs_auth_priv_init (); -#endif /* NO_LOCKING */ + #ifndef NO_LOCKING + /* before hack_uid () for proper permissions */ + gs_auth_priv_init(); + #endif /* NO_LOCKING */ - ret = hack_uid (&nolock_reason, - &orig_uid, - &uid_message); + ret = hack_uid(&nolock_reason, &orig_uid, &uid_message); if (nolock_reason) { - g_debug ("Locking disabled: %s", nolock_reason); + g_debug("Locking disabled: %s", nolock_reason); } if (uid_message && verbose) { - g_print ("Modified UID: %s", uid_message); + g_print("Modified UID: %s", uid_message); } - g_free (nolock_reason); - g_free (orig_uid); - g_free (uid_message); + g_free(nolock_reason); + g_free(orig_uid); + g_free(uid_message); - gs_profile_end (NULL); + gs_profile_end(NULL); return ret; } @@ -517,149 +466,147 @@ privileged_initialization (int *argc, * * Figure out what locking mechanisms are supported. */ -static gboolean -lock_initialization (int *argc, - char **argv, - char **nolock_reason, - gboolean verbose) +static gboolean lock_initialization (int* argc, char** argv, char** nolock_reason, gboolean verbose) { if (nolock_reason != NULL) { *nolock_reason = NULL; } -#ifdef NO_LOCKING - if (nolock_reason != NULL) - { - *nolock_reason = g_strdup ("not compiled with locking support"); - } + #ifdef NO_LOCKING - return FALSE; -#else /* !NO_LOCKING */ - - /* Finish initializing locking, now that we're out of privileged code. */ - if (! gs_auth_init ()) - { if (nolock_reason != NULL) { - *nolock_reason = g_strdup ("error getting password"); + *nolock_reason = g_strdup("not compiled with locking support"); } return FALSE; - } + #else /* !NO_LOCKING */ - /* If locking is currently enabled, but the environment indicates that - we have been launched as MDM's "Background" program, then disable - locking just in case. - */ - if (getenv ("RUNNING_UNDER_MDM")) - { - if (nolock_reason != NULL) + /* Finish initializing locking, now that we're out of privileged code. */ + if (!gs_auth_init()) { - *nolock_reason = g_strdup ("running under MDM"); - } + if (nolock_reason != NULL) + { + *nolock_reason = g_strdup("error getting password"); + } - return FALSE; - } + return FALSE; + } - /* If the server is XDarwin (MacOS X) then disable locking. - (X grabs only affect X programs, so you can use Command-Tab - to bring any other Mac program to the front, e.g., Terminal.) - */ - { - gboolean macos = FALSE; - -#ifdef __APPLE__ - /* Disable locking if *running* on Apple hardware, since we have no - reliable way to determine whether the server is running on MacOS. - Hopefully __APPLE__ means "MacOS" and not "Linux on Mac hardware" - but I'm not really sure about that. - */ - macos = TRUE; -#endif - - if (macos) + /* If locking is currently enabled, but the environment indicates that + * we have been launched as MDM's "Background" program, then disable + * locking just in case. + */ + if (getenv("RUNNING_UNDER_MDM")) { if (nolock_reason != NULL) { - *nolock_reason = g_strdup ("Cannot lock securely on MacOS X"); + *nolock_reason = g_strdup("running under MDM"); } return FALSE; } - } -#endif /* NO_LOCKING */ + /* If the server is XDarwin (MacOS X) then disable locking. + * (X grabs only affect X programs, so you can use Command-Tab + * to bring any other Mac program to the front, e.g., Terminal.) + */ + { + gboolean macos = FALSE; + + #ifdef __APPLE__ + /* Disable locking if *running* on Apple hardware, since we have no + * reliable way to determine whether the server is running on MacOS. + * Hopefully __APPLE__ means "MacOS" and not "Linux on Mac hardware" + * but I'm not really sure about that. + */ + macos = TRUE; + #endif /* __APPLE__ */ + + if (macos) + { + if (nolock_reason != NULL) + { + *nolock_reason = g_strdup("Cannot lock securely on MacOS X"); + } + + return FALSE; + } + } + + #endif /* NO_LOCKING */ return TRUE; } -int -main (int argc, - char **argv) +int main(int argc, char** argv) { - GError *error = NULL; - char *nolock_reason = NULL; - -#ifdef ENABLE_NLS - bindtextdomain (GETTEXT_PACKAGE, MATELOCALEDIR); -# ifdef HAVE_BIND_TEXTDOMAIN_CODESET - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); -# endif - textdomain (GETTEXT_PACKAGE); -#endif - - if (! g_thread_supported ()) + GError* error = NULL; + char* nolock_reason = NULL; + + #ifdef ENABLE_NLS + bindtextdomain(GETTEXT_PACKAGE, MATELOCALEDIR); + #ifdef HAVE_BIND_TEXTDOMAIN_CODESET + bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); + #endif + textdomain(GETTEXT_PACKAGE); + #endif + + if (!g_thread_supported()) { - g_thread_init (NULL); + g_thread_init(NULL); } - g_type_init (); + g_type_init(); - gs_profile_start (NULL); + gs_profile_start(NULL); - if (! privileged_initialization (&argc, argv, verbose)) + if (!privileged_initialization(&argc, argv, verbose)) { - response_lock_init_failed (); - exit (1); + response_lock_init_failed(); + exit(1); } error = NULL; - if (! gtk_init_with_args (&argc, &argv, NULL, entries, NULL, &error)) + + if (!gtk_init_with_args(&argc, &argv, NULL, entries, NULL, &error)) { if (error != NULL) { - fprintf (stderr, "%s", error->message); - g_error_free (error); + fprintf(stderr, "%s", error->message); + g_error_free(error); } - exit (1); + + exit(1); } if (show_version) { - g_print ("%s %s\n", argv [0], VERSION); - exit (1); + g_print("%s %s\n", argv[0], VERSION); + exit(1); } - if (! lock_initialization (&argc, argv, &nolock_reason, verbose)) + if (!lock_initialization(&argc, argv, &nolock_reason, verbose)) { if (nolock_reason != NULL) { g_debug ("Screen locking disabled: %s", nolock_reason); g_free (nolock_reason); } - response_lock_init_failed (); + + response_lock_init_failed(); exit (1); } - gs_debug_init (verbose, FALSE); + gs_debug_init(verbose, FALSE); - g_idle_add ((GSourceFunc)popup_dialog_idle, NULL); + g_idle_add((GSourceFunc) popup_dialog_idle, NULL); - gtk_main (); + gtk_main(); - gs_profile_end (NULL); - gs_debug_shutdown (); + gs_profile_end(NULL); + gs_debug_shutdown(); return 0; } |