Index: devicekit-power-008/src/dkp-daemon.c =================================================================== --- devicekit-power-008.orig/src/dkp-daemon.c 2009-07-06 16:09:34.439134156 +0100 +++ devicekit-power-008/src/dkp-daemon.c 2009-07-06 16:09:34.455135178 +0100 @@ -99,10 +99,9 @@ * dkp_daemon_set_lid_is_closed: **/ gboolean -dkp_daemon_set_lid_is_closed (DkpDaemon *daemon, gboolean lid_is_closed) +dkp_daemon_set_lid_is_closed (DkpDaemon *daemon, gboolean lid_is_closed, gboolean notify) { gboolean ret = FALSE; - static gboolean initialized = FALSE; g_return_val_if_fail (DKP_IS_DAEMON (daemon), FALSE); @@ -113,13 +112,12 @@ } /* save */ - if (!initialized) { + if (!notify) { /* Do not emit an event on startup. Otherwise, e. g. * gnome-power-manager would pick up a "lid is closed" change * event when dk-p gets D-BUS activated, and thus would * immediately suspend the machine on startup. FD#22574 */ egg_debug ("not emitting lid change event for daemon startup"); - initialized = TRUE; } else { g_signal_emit (daemon, signals[CHANGED_SIGNAL], 0); } Index: devicekit-power-008/src/dkp-input.c =================================================================== --- devicekit-power-008.orig/src/dkp-input.c 2009-07-06 16:09:31.811109698 +0100 +++ devicekit-power-008/src/dkp-input.c 2009-07-06 16:09:34.455135178 +0100 @@ -154,7 +154,7 @@ /* are we set */ ret = test_bit (input->priv->event.code, bitmask); - dkp_daemon_set_lid_is_closed (input->priv->daemon, ret); + dkp_daemon_set_lid_is_closed (input->priv->daemon, ret, TRUE); } out: return TRUE; @@ -253,7 +253,7 @@ /* set if we are closed */ egg_debug ("using %s for lid event", native_path); - dkp_daemon_set_lid_is_closed (daemon, test_bit (SW_LID, bitmask)); + dkp_daemon_set_lid_is_closed (daemon, test_bit (SW_LID, bitmask), FALSE); out: g_free (path); Index: devicekit-power-008/src/dkp-daemon.h =================================================================== --- devicekit-power-008.orig/src/dkp-daemon.h 2009-07-06 16:09:46.350634695 +0100 +++ devicekit-power-008/src/dkp-daemon.h 2009-07-06 16:10:08.274611501 +0100 @@ -80,7 +80,8 @@ gboolean interactive, DBusGMethodInvocation *context); gboolean dkp_daemon_set_lid_is_closed (DkpDaemon *daemon, - gboolean lid_is_closed); + gboolean lid_is_closed, + gboolean notify); G_END_DECLS