mirror of
https://gitlab.freedesktop.org/upower/upower.git
synced 2026-05-05 21:38:01 +02:00
Add a notify flag to set_lid_is_closed
Add a notify flag to set_lid_is_closed and use it only on input cold plug. http://bugs.freedesktop.org/show_bug.cgi?id=22574 https://launchpad.net/bugs/385135
This commit is contained in:
parent
c0dd7493bd
commit
a37bfc1756
3 changed files with 6 additions and 7 deletions
|
|
@ -102,10 +102,9 @@ G_DEFINE_TYPE (DkpDaemon, dkp_daemon, G_TYPE_OBJECT)
|
|||
* 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);
|
||||
|
||||
|
|
@ -116,13 +115,12 @@ dkp_daemon_set_lid_is_closed (DkpDaemon *daemon, gboolean lid_is_closed)
|
|||
}
|
||||
|
||||
/* 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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,7 +80,8 @@ gboolean dkp_daemon_can_hibernate (DkpDaemon *daemon,
|
|||
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
|
||||
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ dkp_input_event_io (GIOChannel *channel, GIOCondition condition, gpointer data)
|
|||
|
||||
/* 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 @@ dkp_input_coldplug (DkpInput *input, DkpDaemon *daemon, GUdevDevice *d)
|
|||
|
||||
/* 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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue