gdm r5882 - in trunk: . daemon
- From: halfline svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r5882 - in trunk: . daemon
- Date: Tue, 26 Feb 2008 21:19:20 +0000 (GMT)
Author: halfline
Date: Tue Feb 26 21:19:20 2008
New Revision: 5882
URL: http://svn.gnome.org/viewvc/gdm?rev=5882&view=rev
Log:
2008-02-26 Ray Strode <rstrode redhat com>
* daemon/gdm-session-worker.c:
(gdm_session_worker_set_session_name),
(on_set_session_name),
(gdm_session_worker_set_language_name),
(on_set_language_name),
(worker_dbus_handle_message):
Update session and language state in the worker, when
the slave informs it about language/session changes the
user makes from the greeter
Modified:
trunk/ChangeLog
trunk/daemon/gdm-session-worker.c
Modified: trunk/daemon/gdm-session-worker.c
==============================================================================
--- trunk/daemon/gdm-session-worker.c (original)
+++ trunk/daemon/gdm-session-worker.c Tue Feb 26 21:19:20 2008
@@ -1656,6 +1656,66 @@
}
static void
+gdm_session_worker_set_session_name (GdmSessionWorker *worker,
+ const char *session_name)
+{
+ gdm_session_settings_set_session_name (worker->priv->user_settings,
+ session_name);
+}
+
+static void
+on_set_session_name (GdmSessionWorker *worker,
+ DBusMessage *message)
+{
+ DBusError error;
+ const char *session_name;
+ dbus_bool_t res;
+
+ dbus_error_init (&error);
+ res = dbus_message_get_args (message,
+ &error,
+ DBUS_TYPE_STRING, &session_name,
+ DBUS_TYPE_INVALID);
+ if (res) {
+ g_debug ("GdmSessionWorker: session name set to %s", session_name);
+ gdm_session_worker_set_session_name (worker, session_name);
+ } else {
+ g_warning ("Unable to get arguments: %s", error.message);
+ dbus_error_free (&error);
+ }
+}
+
+static void
+gdm_session_worker_set_language_name (GdmSessionWorker *worker,
+ const char *language_name)
+{
+ gdm_session_settings_set_language_name (worker->priv->user_settings,
+ language_name);
+}
+
+static void
+on_set_language_name (GdmSessionWorker *worker,
+ DBusMessage *message)
+{
+ DBusError error;
+ const char *language_name;
+ dbus_bool_t res;
+
+ dbus_error_init (&error);
+ res = dbus_message_get_args (message,
+ &error,
+ DBUS_TYPE_STRING, &language_name,
+ DBUS_TYPE_INVALID);
+ if (res) {
+ g_debug ("GdmSessionWorker: language name set to %s", language_name);
+ gdm_session_worker_set_language_name (worker, language_name);
+ } else {
+ g_warning ("Unable to get arguments: %s", error.message);
+ dbus_error_free (&error);
+ }
+}
+
+static void
on_saved_language_name_read (GdmSessionWorker *worker)
{
char *language_name;
@@ -2122,6 +2182,10 @@
on_start_program (worker, message);
} else if (dbus_message_is_signal (message, GDM_SESSION_DBUS_INTERFACE, "SetEnvironmentVariable")) {
on_set_environment_variable (worker, message);
+ } else if (dbus_message_is_signal (message, GDM_SESSION_DBUS_INTERFACE, "SetLanguageName")) {
+ on_set_language_name (worker, message);
+ } else if (dbus_message_is_signal (message, GDM_SESSION_DBUS_INTERFACE, "SetSessionName")) {
+ on_set_session_name (worker, message);
} else {
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]