-rw-r--r-- | library/qpeapplication.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index 4d0b0ea..98af70a 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -24,2 +24,3 @@ #include <qfile.h> +#include <qqueue.h> #ifdef Q_WS_QWS @@ -102,5 +103,3 @@ public: - { - qcopq.setAutoDelete( TRUE ); - } + {} @@ -135,3 +134,3 @@ public: QGuardedPtr<QWidget> lastraised; - QList<QCopRec> qcopq; + QQueue<QCopRec> qcopq; QString styleName; @@ -142,3 +141,3 @@ public: { - qcopq.append( new QCopRec( ch, msg, data ) ); + qcopq.enqueue( new QCopRec( ch, msg, data ) ); } @@ -151,8 +150,11 @@ public: #ifndef QT_NO_COP - - for ( QListIterator<QCopRec> it( qcopq ); ( r = it.current() ); ++it ) - QCopChannel::sendLocally( r->channel, r->message, r->data ); + while((r=qcopq.dequeue())) { + // remove from queue before sending... + // event loop can come around again before getting + // back from sendLocally + QCopChannel::sendLocally( r->channel, r->message, r->data ); #endif - qcopq.clear(); + delete r; + } } |