diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2011-11-25 14:02:12 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-25 14:44:39 +0100 |
commit | ac188d9582af49fd1bd8de992fddd4740abb5ce3 (patch) | |
tree | f47b8425c58175803318bdab3cf2a47bd943f177 /src/gui/kernel/qwindowsysteminterface_qpa.cpp | |
parent | 32ce1172ba456be48163f76a5fbae82020b32a56 (diff) |
Introduce QWindowSystemInterface::handleSynchronousCloseEvent
And use it from the Cocoa backend.
In general, for threaded GL rendering to work, any function that
affect the surface must be synchronous, so the implementor (such as
QQuickCanvas) can pick it up and block until the GL context has
released the surface. Otherwise, we will crash.
Change-Id: Id8484dac7452fe96fa80ade4ea321145f32124b4
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/kernel/qwindowsysteminterface_qpa.cpp')
-rw-r--r-- | src/gui/kernel/qwindowsysteminterface_qpa.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gui/kernel/qwindowsysteminterface_qpa.cpp b/src/gui/kernel/qwindowsysteminterface_qpa.cpp index 4a704d8051..17a5bb4eda 100644 --- a/src/gui/kernel/qwindowsysteminterface_qpa.cpp +++ b/src/gui/kernel/qwindowsysteminterface_qpa.cpp @@ -108,6 +108,14 @@ void QWindowSystemInterface::handleCloseEvent(QWindow *tlw) } } +void QWindowSystemInterface::handleSynchronousCloseEvent(QWindow *tlw) +{ + if (tlw) { + QWindowSystemInterfacePrivate::CloseEvent e(tlw); + QGuiApplicationPrivate::processWindowSystemEvent(&e); + } +} + /*! \a tlw == 0 means that \a ev is in global coords only |