diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-07-27 18:16:15 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-08-12 03:54:03 +0200 |
commit | 8535db29009c48a37fc2559ca0fcc5b366e1e122 (patch) | |
tree | 3b32b49ee638c7c62fed253471757f9bc906ca3d /src/ck-seat.c | |
parent | 17fe9ecafedffde111fd0ac95d5688bf5a330972 (diff) |
database: write the console database to disk before signalling via dbus
We simply change the order how the signal handlers for D-Bus and the
database dumping are registered. According to the gobject docs it is
guaranteed that the signal handlers are run in the same order as they
are registered, so this should be safe and have the desired effect.
Diffstat (limited to 'src/ck-seat.c')
-rw-r--r-- | src/ck-seat.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/src/ck-seat.c b/src/ck-seat.c index 8edaaeb..27ccf14 100644 --- a/src/ck-seat.c +++ b/src/ck-seat.c @@ -741,8 +741,8 @@ active_vt_changed (CkVtMonitor *vt_monitor, update_active_vt (seat, num); } -static gboolean -register_seat (CkSeat *seat) +gboolean +ck_seat_register (CkSeat *seat) { GError *error = NULL; @@ -1023,19 +1023,12 @@ ck_seat_new (const char *sid, CkSeatKind kind) { GObject *object; - gboolean res; object = g_object_new (CK_TYPE_SEAT, "id", sid, "kind", kind, NULL); - res = register_seat (CK_SEAT (object)); - if (! res) { - g_object_unref (object); - return NULL; - } - return CK_SEAT (object); } @@ -1045,7 +1038,6 @@ ck_seat_new_with_devices (const char *sid, GPtrArray *devices) { GObject *object; - gboolean res; int i; object = g_object_new (CK_TYPE_SEAT, @@ -1059,12 +1051,6 @@ ck_seat_new_with_devices (const char *sid, } } - res = register_seat (CK_SEAT (object)); - if (! res) { - g_object_unref (object); - return NULL; - } - return CK_SEAT (object); } @@ -1232,4 +1218,3 @@ ck_seat_dump (CkSeat *seat, g_free (group_name); } - |