diff options
Diffstat (limited to 'extra/kdebase-workspace/systemd209.patch')
-rw-r--r-- | extra/kdebase-workspace/systemd209.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/extra/kdebase-workspace/systemd209.patch b/extra/kdebase-workspace/systemd209.patch new file mode 100644 index 000000000..42b3f5efe --- /dev/null +++ b/extra/kdebase-workspace/systemd209.patch @@ -0,0 +1,32 @@ +commit 7584a63924620bac3bd87277c11cdb8cdb5018b1 +Author: Raymond Wooninck <tittiatcoke@gmail.com> +Date: Tue Feb 25 20:12:58 2014 +0100 + + Perform the systemd version evaluation through a regular expression to be more flexible for changes in the version string that systemd returns (Based on Review request 115271) + +diff --git a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp +index cc3b6ad..70124ad 100644 +--- a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp ++++ b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp +@@ -41,13 +41,17 @@ + + bool checkSystemdVersion(uint requiredVersion) + { +- bool ok; + + QDBusInterface systemdIface("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager", + QDBusConnection::systemBus(), 0); +- const uint version = systemdIface.property("Version").toString().section(' ', 1).toUInt(&ok); +- if (ok) { +- return (version >= requiredVersion); ++ ++ const QString reply = systemdIface.property("Version").toString(); ++ ++ QRegExp expsd("(systemd )?([0-9]+)"); ++ ++ if (expsd.exactMatch(reply)) { ++ const uint version = expsd.cap(2).toUInt(); ++ return (version >= requiredVersion); + } + + // Since version 1.11 Upstart user sessions implement the exact same API as logind |