-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 @@ | |||
24 | #include <qfile.h> | 24 | #include <qfile.h> |
25 | #include <qqueue.h> | ||
25 | #ifdef Q_WS_QWS | 26 | #ifdef Q_WS_QWS |
@@ -102,5 +103,3 @@ public: | |||
102 | 103 | ||
103 | { | 104 | {} |
104 | qcopq.setAutoDelete( TRUE ); | ||
105 | } | ||
106 | 105 | ||
@@ -135,3 +134,3 @@ public: | |||
135 | QGuardedPtr<QWidget> lastraised; | 134 | QGuardedPtr<QWidget> lastraised; |
136 | QList<QCopRec> qcopq; | 135 | QQueue<QCopRec> qcopq; |
137 | QString styleName; | 136 | QString styleName; |
@@ -142,3 +141,3 @@ public: | |||
142 | { | 141 | { |
143 | qcopq.append( new QCopRec( ch, msg, data ) ); | 142 | qcopq.enqueue( new QCopRec( ch, msg, data ) ); |
144 | } | 143 | } |
@@ -151,8 +150,11 @@ public: | |||
151 | #ifndef QT_NO_COP | 150 | #ifndef QT_NO_COP |
152 | 151 | while((r=qcopq.dequeue())) { | |
153 | for ( QListIterator<QCopRec> it( qcopq ); ( r = it.current() ); ++it ) | 152 | // remove from queue before sending... |
154 | QCopChannel::sendLocally( r->channel, r->message, r->data ); | 153 | // event loop can come around again before getting |
154 | // back from sendLocally | ||
155 | QCopChannel::sendLocally( r->channel, r->message, r->data ); | ||
155 | #endif | 156 | #endif |
156 | 157 | ||
157 | qcopq.clear(); | 158 | delete r; |
159 | } | ||
158 | } | 160 | } |