[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/dcop
From:       Waldo Bastian <bastian () kde ! org>
Date:       2005-01-28 23:04:46
Message-ID: 20050128230446.547291BAF2 () office ! kde ! org
[Download RAW message or body]

CVS commit by waba: 

* Delete still pending messages in desctructor
* Added some optional debug stuff so see what kind of messages we were
left with. So far only encountered a harmless looking "applicationRemoved(...)"
notification call


  M +20 -0     dcopclient.cpp   1.189


--- kdelibs/dcop/dcopclient.cpp  #1.188:1.189
@@ -78,4 +78,5 @@ extern "C" {
 }
 
+// #define DCOPCLIENT_DEBUG     1
 
 extern QMap<QCString, DCOPObject *> * kde_dcopObjMap; // defined in dcopobject.cpp
@@ -628,4 +629,22 @@ DCOPClient::DCOPClient()
 DCOPClient::~DCOPClient()
 {
+#ifdef DCOPCLIENT_DEBUG
+    qWarning("d->messages.count() = %d", d->messages.count());
+    QPtrListIterator<DCOPClientMessage> it (d->messages );
+    DCOPClientMessage* msg ;
+    while ( ( msg = it.current() ) ) {
+        ++it;
+        d->messages.removeRef( msg );
+        qWarning("DROPPING UNHANDLED DCOP MESSAGE:");
+        qWarning("         opcode = %d key = %d", msg->opcode, msg->key);
+        QDataStream ds( msg->data, IO_ReadOnly );
+
+        QCString fromApp, app, objId, fun;
+        ds >> fromApp >> app >> objId >> fun;
+        qWarning("         from = %s", fromApp.data()); 
+        qWarning("         to = %s / %s / %s", app.data(), objId.data(), fun.data());
+        delete msg;
+    }
+#endif
 #ifdef Q_OS_UNIX
     if (d->iceConn)
@@ -639,4 +658,5 @@ DCOPClient::~DCOPClient()
     delete d->notifier;
     delete d->transactionList;
+    d->messages.setAutoDelete(true);
     delete d;
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic