Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:13.1:Update
psi+
login1-dbus-suspend.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File login1-dbus-suspend.patch of Package psi+
logind sends a differnet signal during suspend, fix that by listening on PrepareForSleep. But we need to wait on resuming case because it is sent too early... --- src/libpsi/tools/systemwatch/systemwatch_unix.cpp | 10 ++++++++++ src/libpsi/tools/systemwatch/systemwatch_unix.h | 1 + 2 files changed, 11 insertions(+) --- a/src/libpsi/tools/systemwatch/systemwatch_unix.cpp +++ b/src/libpsi/tools/systemwatch/systemwatch_unix.cpp @@ -21,6 +21,7 @@ #include "systemwatch_unix.h" #ifdef USE_DBUS # include <QDBusConnection> +# include <QTimer> #endif UnixSystemWatch::UnixSystemWatch() @@ -29,9 +30,18 @@ UnixSystemWatch::UnixSystemWatch() QDBusConnection conn = QDBusConnection::systemBus(); conn.connect("org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.UPower", "Sleeping", this, SLOT(sleeping())); conn.connect("org.freedesktop.UPower", "/org/freedesktop/UPower", "org.freedesktop.UPower", "Resuming", this, SLOT(resuming())); + conn.connect("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", "PrepareForSleep", this, SLOT(prepareForSleep(bool))); #endif } +void UnixSystemWatch::prepareForSleep(bool suspending) +{ + if (suspending) + emit sleeping(); + else + QTimer::singleShot(5000, this, SLOT(resuming())); +} + void UnixSystemWatch::sleeping() { emit sleep(); --- a/src/libpsi/tools/systemwatch/systemwatch_unix.h +++ b/src/libpsi/tools/systemwatch/systemwatch_unix.h @@ -32,6 +32,7 @@ public: private slots: void sleeping(); void resuming(); + void prepareForSleep(bool suspending); };
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor