summaryrefslogtreecommitdiff
path: root/user/sddm/autologin-type.patch
blob: cc573806523944bb14fa4cc51b3fcc3d56dbccae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From e81dfcd6913c4fbd1801597168291b1e396633d8 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Wed, 6 Jan 2021 16:00:34 +0100
Subject: [PATCH] Fix sessions being started as the wrong type on autologin

For autologin, the last session is used, which contains a full path.
Display::findSessionEntry didn't handle that correctly, which led to
X11 sessions getting started as Wayland ones (or the other way around
before 994fa67).

Fixes #1348
---
 src/daemon/Display.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
index b95f6e51e..9f1fabc68 100644
--- a/src/daemon/Display.cpp
+++ b/src/daemon/Display.cpp
@@ -245,6 +245,11 @@ namespace SDDM {
     }
 
     bool Display::findSessionEntry(const QDir &dir, const QString &name) const {
+        // Given an absolute path: Check that it matches dir
+        const QFileInfo fileInfo(name);
+        if (fileInfo.isAbsolute() && fileInfo.absolutePath() != dir.absolutePath())
+            return false;
+
         QString fileName = name;
 
         // append extension