diff options
author | Janne Heikkilä <janne.heikkila@symbio.com> | 2010-09-01 14:37:36 +0300 |
---|---|---|
committer | Daniel d'Andrada <daniel.dandrada@nokia.com> | 2010-09-02 09:17:13 +0300 |
commit | 3e2b644c30f38046ae9db2794f02efbebce64f84 (patch) | |
tree | 0c2cc49c8f8a8a4238174631ce4fe380a270131f /mthemedaemon | |
parent | 86130fbe5a20c1ae8caa6213d392ee40389cf0c4 (diff) |
Fixes: NB#180385 - COREWEB: /usr/bin/mthemedaemon 'MThemeDaemonServer::clientDisconnected MThemeDaemonServer::qt_metacall QMetaObject::metacall QMetaObject::activate'
RevBy: Armin Berres
Details: Disconnect signals from client sockets, when destroying server.
Diffstat (limited to 'mthemedaemon')
-rw-r--r-- | mthemedaemon/mthemedaemonserver.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/mthemedaemon/mthemedaemonserver.cpp b/mthemedaemon/mthemedaemonserver.cpp index 579b8c55..45d3081f 100644 --- a/mthemedaemon/mthemedaemonserver.cpp +++ b/mthemedaemon/mthemedaemonserver.cpp @@ -94,11 +94,12 @@ MThemeDaemonServer::~MThemeDaemonServer() // remove all registered clients while (registeredClients.count() > 0) { MThemeDaemonClient *client = registeredClients.begin().value(); + QLocalSocket *socket = registeredClients.begin().key(); + socket->disconnect(this); daemon.removeClient(client); delete client; registeredClients.erase(registeredClients.begin()); } - } void MThemeDaemonServer::loadPriorities(const QString& filename) @@ -117,8 +118,8 @@ void MThemeDaemonServer::clientConnected() { while (server.hasPendingConnections()) { QLocalSocket *socket = server.nextPendingConnection(); - QObject::connect(socket, SIGNAL(disconnected()), SLOT(clientDisconnected())); - QObject::connect(socket, SIGNAL(readyRead()), SLOT(clientDataAvailable())); + QObject::connect(socket, SIGNAL(disconnected()), this, SLOT(clientDisconnected())); + QObject::connect(socket, SIGNAL(readyRead()), this, SLOT(clientDataAvailable())); } } |