summaryrefslogtreecommitdiff
path: root/src/plugins
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/plugins
parent867e6d208c041489d1f9ea8b2996a3a100cc9b4e (diff)
downloadqtbase-c4049750e715f39224a73de9ed1cc69d4f14866a.tar.gz
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/plugins')
-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);