From 6a80bb95f79b61b1fe516b9b9a55fcec96835fcd Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Tue, 6 Oct 2015 22:45:50 -0500 Subject: [PATCH] sddm: ignore config file modification time Properly fixes #10211, wherein the config file was not being loaded because it was considered too old. However, the modification time was being compared against an uninitialized value; the semantics of the uninitialized timestamp probably changed between Qt 5.4 and 5.5. --- .../display-managers/sddm/default.nix | 2 ++ .../sddm/sddm-ignore-config-mtime.patch | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch diff --git a/pkgs/applications/display-managers/sddm/default.nix b/pkgs/applications/display-managers/sddm/default.nix index 5f8b13d2905..10bbaed9bbe 100644 --- a/pkgs/applications/display-managers/sddm/default.nix +++ b/pkgs/applications/display-managers/sddm/default.nix @@ -14,6 +14,8 @@ stdenv.mkDerivation rec { sha256 = "09amr61srvl52nvxlqqgs9fzn33pc2gjv5hc83gxx43x6q2j19gg"; }; + patches = [ ./sddm-ignore-config-mtime.patch ]; + nativeBuildInputs = [ cmake pkgconfig qttools ]; buildInputs = [ libxcb libpthreadstubs libXdmcp libXau qtbase qtdeclarative pam systemd ]; diff --git a/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch b/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch new file mode 100644 index 00000000000..9edd9a7b538 --- /dev/null +++ b/pkgs/applications/display-managers/sddm/sddm-ignore-config-mtime.patch @@ -0,0 +1,16 @@ +diff --git a/src/common/ConfigReader.cpp b/src/common/ConfigReader.cpp +index 6618455..5356e76 100644 +--- a/src/common/ConfigReader.cpp ++++ b/src/common/ConfigReader.cpp +@@ -136,11 +136,6 @@ namespace SDDM { + QString currentSection = QStringLiteral(IMPLICIT_SECTION); + + QFile in(m_path); +- QDateTime modificationTime = QFileInfo(in).lastModified(); +- if (modificationTime <= m_fileModificationTime) { +- return; +- } +- m_fileModificationTime = modificationTime; + + in.open(QIODevice::ReadOnly); + while (!in.atEnd()) {