summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-09-22 16:50:13 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-28 03:16:56 +0200
commitc4049750e715f39224a73de9ed1cc69d4f14866a (patch)
treeff42cbce3cb5d222c29f6f5d73028285f8ba7d3d /src
parent867e6d208c041489d1f9ea8b2996a3a100cc9b4e (diff)
Unlock the eventreader before calling handleEvent()
Handle event can cause accesses to the event queue from other places (e.g. through checkEvent()). Unlock the reader to avoid deadlocks. Change-Id: I1e5a79ce556920127848fccc3387d711c7cd32c2 Reviewed-on: http://codereview.qt-project.org/5557 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
index a0b894602d..f7642fa9c9 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
@@ -634,7 +634,9 @@ void QXcbConnection::processXcbEvents()
else
++it;
}
+ m_reader->unlock();
handleXcbEvent(event);
+ m_reader->lock();
}
free(event);