From 460ff6d97d33cbd5c77d64798f3e2b1d6a8e31b0 Mon Sep 17 00:00:00 2001 From: davidedmundson <david@davidedmundson.co.uk> Date: Tue, 18 Oct 2016 18:39:09 +0100 Subject: [PATCH 19/21] 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.2