Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 341262 Details for
Bug 460728
kde-base/powerdevil-4.10.1 doesn't offer suspend options
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
powerdevil/files/systemd-version.patch
systemd-version.patch (text/plain), 2.64 KB, created by
Märt Bakhoff
on 2013-03-07 20:55:34 UTC
(
hide
)
Description:
powerdevil/files/systemd-version.patch
Filename:
MIME Type:
Creator:
Märt Bakhoff
Created:
2013-03-07 20:55:34 UTC
Size:
2.64 KB
patch
obsolete
>diff --git a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp >index f9503b3..6a50b66 100644 >--- a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp >+++ b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp >@@ -35,6 +35,21 @@ > > #define HELPER_ID "org.kde.powerdevil.backlighthelper" > >+bool checkSystemdVersion(uint requiredVersion) >+{ >+ bool ok; >+ >+ QDBusInterface systemdIface("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", >+ QDBusConnection::systemBus(), 0); >+ uint version = systemdIface.property("Version").toString().section(' ', 1).toUInt(&ok); >+ if (ok) { >+ return (version >= requiredVersion); >+ } else { >+ kDebug() << "Unknown version string from Systemd"; >+ return false; >+ } >+} >+ > PowerDevilUPowerBackend::PowerDevilUPowerBackend(QObject* parent) > : BackendInterface(parent), > m_brightnessControl(0), >@@ -123,7 +138,7 @@ void PowerDevilUPowerBackend::init() > > // Supported suspend methods > SuspendMethods supported = UnknownSuspendMethod; >- if (m_login1Interface) { >+ if (m_login1Interface && checkSystemdVersion(195)) { > QDBusPendingReply<QString> canSuspend = m_login1Interface.data()->asyncCall("CanSuspend"); > canSuspend.waitForFinished(); > if (canSuspend.isValid() && (canSuspend.value() == "yes" || canSuspend.value() == "challenge")) >@@ -151,11 +166,7 @@ void PowerDevilUPowerBackend::init() > } > > // "resuming" signal >- QDBusInterface systemdIface("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", >- QDBusConnection::systemBus(), this); >- int version = systemdIface.property("Version").toString().section(' ', 1).toInt(); >- >- if (m_login1Interface && version > 197) { >+ if (m_login1Interface && checkSystemdVersion(198)) { > connect(m_login1Interface.data(), SIGNAL(PrepareForSleep(bool)), this, SLOT(slotLogin1Resuming(bool))); > } else { > connect(m_upowerInterface, SIGNAL(Resuming()), this, SIGNAL(resumeFromSuspend())); >@@ -280,7 +291,7 @@ bool PowerDevilUPowerBackend::setBrightness(float brightnessValue, PowerDevil::B > > KJob* PowerDevilUPowerBackend::suspend(PowerDevil::BackendInterface::SuspendMethod method) > { >- if (m_login1Interface) { >+ if (m_login1Interface && checkSystemdVersion(195)) { > return new Login1SuspendJob(m_login1Interface.data(), method, supportedSuspendMethods()); > } else { > return new UPowerSuspendJob(m_upowerInterface, method, supportedSuspendMethods());
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 460728
: 341262