Blob Blame History Raw
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 16/18] 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 b95f6e5..9f1fabc 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
-- 
2.29.2