File 0005-Cleanup-dangling-pointer-in-SocketServer-725.patch of Package sddm
From 8ed7b338b20e3d46272f40a55bc41bc5a8154d3e Mon Sep 17 00:00:00 2001
From: davidedmundson <david@davidedmundson.co.uk>
Date: Tue, 18 Oct 2016 18:39:09 +0100
Subject: [PATCH 5/5] Cleanup dangling pointer in SocketServer (#725)
This fixes SDDM crashing if xorg fails to load
[ChangeLog][Auth] Fix crash if Xorg fails to load
---
src/auth/Auth.cpp | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/auth/Auth.cpp b/src/auth/Auth.cpp
index b480e72..28b807d 100644
--- a/src/auth/Auth.cpp
+++ b/src/auth/Auth.cpp
@@ -52,6 +52,7 @@ namespace SDDM {
Q_OBJECT
public:
Private(Auth *parent);
+ ~Private();
void setSocket(QLocalSocket *socket);
public slots:
void dataPending();
@@ -136,6 +137,12 @@ namespace SDDM {
connect(request, SIGNAL(promptsChanged()), parent, SIGNAL(requestChanged()));
}
+ Auth::Private::~Private()
+ {
+ SocketServer::instance()->helpers.remove(id);
+ }
+
+
void Auth::Private::setSocket(QLocalSocket *socket) {
this->socket = socket;
connect(socket, SIGNAL(readyRead()), this, SLOT(dataPending()));
--
2.10.1