diff options
author | Daiwei Li <daiweili@suitabletech.com> | 2016-02-20 22:41:43 -0800 |
---|---|---|
committer | Morten Johan Sørvig <morten.sorvig@theqtcompany.com> | 2016-02-23 14:13:59 +0000 |
commit | 8947262e3bc35355f2267337e74f8cba4b219a64 (patch) | |
tree | 4a98c3cc9e32dc10863adfd48114db94da55663a | |
parent | 0ab8e5972fa3d846f999a300f86b5b6ea805841f (diff) |
QPepperEventDispatcher: Fix a hang
There are some events that don't get processed by a call to
QEventDispatcherQPA::processEvents. If no events were processed,
we should stop trying to call processEvents.
Change-Id: I6bef9e362686ae04740c001e6153e94907e433fb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
-rw-r--r-- | src/plugins/platforms/pepper/qpeppereventdispatcher.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/platforms/pepper/qpeppereventdispatcher.cpp b/src/plugins/platforms/pepper/qpeppereventdispatcher.cpp index 7615b07081..c5549c75f7 100644 --- a/src/plugins/platforms/pepper/qpeppereventdispatcher.cpp +++ b/src/plugins/platforms/pepper/qpeppereventdispatcher.cpp @@ -53,9 +53,10 @@ QPepperEventDispatcher::~QPepperEventDispatcher() {} bool QPepperEventDispatcher::processEvents(QEventLoop::ProcessEventsFlags flags) { + bool processed = false; do { - QUnixEventDispatcherQPA::processEvents(flags); - } while (hasPendingEvents()); + processed = QUnixEventDispatcherQPA::processEvents(flags); + } while (processed && hasPendingEvents()); return true; } |