summaryrefslogtreecommitdiff
path: root/extra/kdebase-workspace/systemd209.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extra/kdebase-workspace/systemd209.patch')
-rw-r--r--extra/kdebase-workspace/systemd209.patch32
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