summaryrefslogtreecommitdiffstats
path: root/kde/patch/kde-workspace/kde-workspace.desktopnames.diff
diff options
context:
space:
mode:
Diffstat (limited to 'kde/patch/kde-workspace/kde-workspace.desktopnames.diff')
-rw-r--r--kde/patch/kde-workspace/kde-workspace.desktopnames.diff34
1 files changed, 34 insertions, 0 deletions
diff --git a/kde/patch/kde-workspace/kde-workspace.desktopnames.diff b/kde/patch/kde-workspace/kde-workspace.desktopnames.diff
new file mode 100644
index 0000000..59aef1c
--- /dev/null
+++ b/kde/patch/kde-workspace/kde-workspace.desktopnames.diff
@@ -0,0 +1,34 @@
+commit e1724800ecf3c6a7035dfa7bcaa50b2a8f48688f
+Author: David Faure <faure@kde.org>
+Date: Fri May 2 10:26:38 2014 +0200
+
+ Fix crash when DesktopNames isn't set
+
+ BUG: 334159
+ FIXED-IN: 4.11.10
+
+diff --git a/kdm/backend/client.c b/kdm/backend/client.c
+index 335cc3e..a2d06c2 100644
+--- a/kdm/backend/client.c
++++ b/kdm/backend/client.c
+@@ -1810,12 +1810,14 @@ startClient(volatile int *pid)
+ !(sessargs = iniEntry(str, "Desktop Entry", "Exec", 0)))
+ sessargs = "";
+ buf = iniEntry(str, "Desktop Entry", "DesktopNames", 0);
+- for (buf2 = buf; *buf2; ++buf2) {
+- if (*buf2 == ';')
+- *buf2 = ':';
++ if (buf) {
++ for (buf2 = buf; *buf2; ++buf2) {
++ if (*buf2 == ';')
++ *buf2 = ':';
++ }
++ userEnviron = setEnv(userEnviron, "XDG_CURRENT_DESKTOP", buf);
++ free(buf);
+ }
+- userEnviron = setEnv(userEnviron, "XDG_CURRENT_DESKTOP", buf);
+- free(buf);
+ free(str);
+ free(fname);
+ goto gotit;
+