diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2013-07-23 14:24:45 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2013-07-23 14:24:45 +1200 |
commit | 0f956f52f1f365c21c6357b8bc159986d2dd9b82 (patch) | |
tree | ad8c16377ced0f238a71b811108cc6907130654b /liblightdm-gobject | |
parent | 3e1d6047758cfc510033e775a35db8b70cf5c4fe (diff) | |
parent | e7d20496246a38ec388a6be665c1a0154dab7478 (diff) | |
download | lightdm-0f956f52f1f365c21c6357b8bc159986d2dd9b82.tar.gz |
Merge with trunk
Diffstat (limited to 'liblightdm-gobject')
-rw-r--r-- | liblightdm-gobject/Makefile.am | 2 | ||||
-rw-r--r-- | liblightdm-gobject/greeter.c | 44 | ||||
-rw-r--r-- | liblightdm-gobject/lightdm/greeter.h | 14 | ||||
-rw-r--r-- | liblightdm-gobject/lightdm/language.h | 14 | ||||
-rw-r--r-- | liblightdm-gobject/lightdm/layout.h | 14 | ||||
-rw-r--r-- | liblightdm-gobject/lightdm/session.h | 14 | ||||
-rw-r--r-- | liblightdm-gobject/lightdm/user.h | 28 | ||||
-rw-r--r-- | liblightdm-gobject/session.c | 34 | ||||
-rw-r--r-- | liblightdm-gobject/user.c | 8 |
9 files changed, 75 insertions, 97 deletions
diff --git a/liblightdm-gobject/Makefile.am b/liblightdm-gobject/Makefile.am index 449276ca..9ab209e8 100644 --- a/liblightdm-gobject/Makefile.am +++ b/liblightdm-gobject/Makefile.am @@ -5,7 +5,7 @@ liblightdm_gobject_1_la_LIBADD = $(LIBLIGHTDM_GOBJECT_LIBS) liblightdm_gobject_1_la_CFLAGS = $(LIBLIGHTDM_GOBJECT_CFLAGS) \ $(WARN_CFLAGS) \ -DCONFIG_DIR=\"$(sysconfdir)/lightdm\" \ - -DXSESSIONS_DIR=\"$(datadir)/xsessions\" \ + -DSESSIONS_DIR=\"$(pkgdatadir)/sessions:$(datadir)/xsessions\" \ -DREMOTE_SESSIONS_DIR=\"$(pkgdatadir)/remote-sessions\" mainheader_HEADERS = lightdm.h diff --git a/liblightdm-gobject/greeter.c b/liblightdm-gobject/greeter.c index 8f90308f..9387118c 100644 --- a/liblightdm-gobject/greeter.c +++ b/liblightdm-gobject/greeter.c @@ -1184,42 +1184,6 @@ lightdm_greeter_get_property (GObject *object, } static void -marshal_VOID__STRING_INT (GClosure *closure, - GValue *return_value G_GNUC_UNUSED, - guint n_param_values, - const GValue *param_values, - gpointer invocation_hint G_GNUC_UNUSED, - gpointer marshal_data) -{ - typedef void (*GMarshalFunc_VOID__STRING_INT) (gpointer data1, - gpointer arg_1, - gint arg_2, - gpointer data2); - register GMarshalFunc_VOID__STRING_INT callback; - register GCClosure *cc = (GCClosure*) closure; - register gpointer data1, data2; - - g_return_if_fail (n_param_values == 3); - - if (G_CCLOSURE_SWAP_DATA (closure)) - { - data1 = closure->data; - data2 = g_value_peek_pointer (param_values + 0); - } - else - { - data1 = g_value_peek_pointer (param_values + 0); - data2 = closure->data; - } - callback = (GMarshalFunc_VOID__STRING_INT) (marshal_data ? marshal_data : cc->callback); - - callback (data1, - (param_values + 1)->data[0].v_pointer, - (param_values + 2)->data[0].v_int, - data2); -} - -static void lightdm_greeter_finalize (GObject *object) { LightDMGreeter *self = LIGHTDM_GREETER (object); @@ -1375,7 +1339,7 @@ lightdm_greeter_class_init (LightDMGreeterClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMGreeterClass, show_prompt), NULL, NULL, - marshal_VOID__STRING_INT, + NULL, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT); /** @@ -1393,7 +1357,7 @@ lightdm_greeter_class_init (LightDMGreeterClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMGreeterClass, show_message), NULL, NULL, - marshal_VOID__STRING_INT, + NULL, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_INT); /** @@ -1412,7 +1376,7 @@ lightdm_greeter_class_init (LightDMGreeterClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMGreeterClass, authentication_complete), NULL, NULL, - g_cclosure_marshal_VOID__VOID, + NULL, G_TYPE_NONE, 0); /** @@ -1428,6 +1392,6 @@ lightdm_greeter_class_init (LightDMGreeterClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMGreeterClass, autologin_timer_expired), NULL, NULL, - g_cclosure_marshal_VOID__VOID, + NULL, G_TYPE_NONE, 0); } diff --git a/liblightdm-gobject/lightdm/greeter.h b/liblightdm-gobject/lightdm/greeter.h index af409dee..7d8988f2 100644 --- a/liblightdm-gobject/lightdm/greeter.h +++ b/liblightdm-gobject/lightdm/greeter.h @@ -58,13 +58,13 @@ typedef struct void (*authentication_complete)(LightDMGreeter *greeter); void (*autologin_timer_expired)(LightDMGreeter *greeter); - /* Reserved */ - void (*reserved1) (void); - void (*reserved2) (void); - void (*reserved3) (void); - void (*reserved4) (void); - void (*reserved5) (void); - void (*reserved6) (void); + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMGreeterClass; GType lightdm_greeter_get_type (void); diff --git a/liblightdm-gobject/lightdm/language.h b/liblightdm-gobject/lightdm/language.h index 71d9ea1b..52caf9c9 100644 --- a/liblightdm-gobject/lightdm/language.h +++ b/liblightdm-gobject/lightdm/language.h @@ -31,13 +31,13 @@ typedef struct { GObjectClass parent_class; - /* Reserved */ - void (*reserved1) (void); - void (*reserved2) (void); - void (*reserved3) (void); - void (*reserved4) (void); - void (*reserved5) (void); - void (*reserved6) (void); + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMLanguageClass; GType lightdm_language_get_type (void); diff --git a/liblightdm-gobject/lightdm/layout.h b/liblightdm-gobject/lightdm/layout.h index 095a28da..3e0687d0 100644 --- a/liblightdm-gobject/lightdm/layout.h +++ b/liblightdm-gobject/lightdm/layout.h @@ -31,13 +31,13 @@ typedef struct { GObjectClass parent_class; - /* Reserved */ - void (*reserved1) (void); - void (*reserved2) (void); - void (*reserved3) (void); - void (*reserved4) (void); - void (*reserved5) (void); - void (*reserved6) (void); + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMLayoutClass; GType lightdm_layout_get_type (void); diff --git a/liblightdm-gobject/lightdm/session.h b/liblightdm-gobject/lightdm/session.h index ed8abb89..13ddcd9f 100644 --- a/liblightdm-gobject/lightdm/session.h +++ b/liblightdm-gobject/lightdm/session.h @@ -31,13 +31,13 @@ typedef struct { GObjectClass parent_class; - /* Reserved */ - void (*reserved1) (void); - void (*reserved2) (void); - void (*reserved3) (void); - void (*reserved4) (void); - void (*reserved5) (void); - void (*reserved6) (void); + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMSessionClass; GType lightdm_session_get_type (void); diff --git a/liblightdm-gobject/lightdm/user.h b/liblightdm-gobject/lightdm/user.h index 860a1ab4..b43fc516 100644 --- a/liblightdm-gobject/lightdm/user.h +++ b/liblightdm-gobject/lightdm/user.h @@ -39,13 +39,13 @@ typedef struct GObjectClass parent_class; void (*changed)(LightDMUser *user); - /* Reserved */ - void (*reserved1) (void); - void (*reserved2) (void); - void (*reserved3) (void); - void (*reserved4) (void); - void (*reserved5) (void); - void (*reserved6) (void); + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMUserClass; typedef struct @@ -61,13 +61,13 @@ typedef struct void (*user_changed)(LightDMUserList *user_list, LightDMUser *user); void (*user_removed)(LightDMUserList *user_list, LightDMUser *user); - /* Reserved */ - void (*reserved1) (void); - void (*reserved2) (void); - void (*reserved3) (void); - void (*reserved4) (void); - void (*reserved5) (void); - void (*reserved6) (void); + /* Reserved */ + void (*reserved1) (void); + void (*reserved2) (void); + void (*reserved3) (void); + void (*reserved4) (void); + void (*reserved5) (void); + void (*reserved6) (void); } LightDMUserListClass; GType lightdm_user_list_get_type (void); diff --git a/liblightdm-gobject/session.c b/liblightdm-gobject/session.c index 0642c299..82fc75ab 100644 --- a/liblightdm-gobject/session.c +++ b/liblightdm-gobject/session.c @@ -114,10 +114,9 @@ load_session (GKeyFile *key_file, const gchar *key) } static GList * -load_sessions (const gchar *sessions_dir) +load_sessions_dir (GList *sessions, const gchar *sessions_dir) { GDir *directory; - GList *sessions = NULL; GError *error = NULL; directory = g_dir_open (sessions_dir, 0, &error); @@ -125,7 +124,7 @@ load_sessions (const gchar *sessions_dir) g_warning ("Failed to open sessions directory: %s", error->message); g_clear_error (&error); if (!directory) - return NULL; + return sessions; while (TRUE) { @@ -175,12 +174,27 @@ load_sessions (const gchar *sessions_dir) return sessions; } +static GList * +load_sessions (const gchar *sessions_dir) +{ + GList *sessions = NULL; + gchar **dirs; + int i; + + dirs = g_strsplit (sessions_dir, ":", -1); + for (i = 0; dirs[i]; i++) + sessions = load_sessions_dir (sessions, dirs[i]); + g_strfreev (dirs); + + return sessions; +} + static void update_sessions (void) { GKeyFile *config_key_file = NULL; gchar *config_path = NULL; - gchar *xsessions_dir; + gchar *sessions_dir; gchar *remote_sessions_dir; gchar *mir_sessions_dir; gboolean result; @@ -189,7 +203,7 @@ update_sessions (void) if (have_sessions) return; - xsessions_dir = g_strdup (XSESSIONS_DIR); + sessions_dir = g_strdup (SESSIONS_DIR); remote_sessions_dir = g_strdup (REMOTE_SESSIONS_DIR); /* Use session directory from configuration */ @@ -204,11 +218,11 @@ update_sessions (void) { gchar *value; - value = g_key_file_get_string (config_key_file, "LightDM", "xsessions-directory", NULL); + value = g_key_file_get_string (config_key_file, "LightDM", "sessions-directory", NULL); if (value) { - g_free (xsessions_dir); - xsessions_dir = value; + g_free (sessions_dir); + sessions_dir = value; } value = g_key_file_get_string (config_key_file, "LightDM", "remote-sessions-directory", NULL); @@ -221,10 +235,10 @@ update_sessions (void) g_key_file_free (config_key_file); g_free (config_path); - local_sessions = load_sessions (xsessions_dir); + local_sessions = load_sessions (sessions_dir); remote_sessions = load_sessions (remote_sessions_dir); - g_free (xsessions_dir); + g_free (sessions_dir); g_free (remote_sessions_dir); have_sessions = TRUE; diff --git a/liblightdm-gobject/user.c b/liblightdm-gobject/user.c index 37e73f98..d8bd2e08 100644 --- a/liblightdm-gobject/user.c +++ b/liblightdm-gobject/user.c @@ -979,7 +979,7 @@ lightdm_user_list_class_init (LightDMUserListClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMUserListClass, user_added), NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, + NULL, G_TYPE_NONE, 1, LIGHTDM_TYPE_USER); /** @@ -995,7 +995,7 @@ lightdm_user_list_class_init (LightDMUserListClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMUserListClass, user_changed), NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, + NULL, G_TYPE_NONE, 1, LIGHTDM_TYPE_USER); /** @@ -1011,7 +1011,7 @@ lightdm_user_list_class_init (LightDMUserListClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMUserListClass, user_removed), NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, + NULL, G_TYPE_NONE, 1, LIGHTDM_TYPE_USER); } @@ -1614,7 +1614,7 @@ lightdm_user_class_init (LightDMUserClass *klass) G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (LightDMUserClass, changed), NULL, NULL, - g_cclosure_marshal_VOID__VOID, + NULL, G_TYPE_NONE, 0); } |