aboutsummaryrefslogtreecommitdiff
path: root/mthemedaemon
diff options
context:
space:
mode:
authorJanne Heikkilä <janne.heikkila@symbio.com>2010-09-01 14:37:36 +0300
committerDaniel d'Andrada <daniel.dandrada@nokia.com>2010-09-02 09:17:13 +0300
commit3e2b644c30f38046ae9db2794f02efbebce64f84 (patch)
tree0c2cc49c8f8a8a4238174631ce4fe380a270131f /mthemedaemon
parent86130fbe5a20c1ae8caa6213d392ee40389cf0c4 (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.cpp7
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()));
}
}