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

openSUSE Build Service is sponsored by