From 4b0016f045a4f78b8cc9bb6e8ded40db0f8a30ec Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Tue, 11 Mar 2014 20:55:48 +0100 Subject: [PATCH] Cocoa: Get rid of the forward window pointer asap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As soon as we receive an event not related to dragging a QDockWidget out of its area (or a similar use case), we no longer need the forward window. Task-number: QTBUG-37265 Change-Id: I310e9cc2cf099c76e7a88427826d4b97ca0cd9b9 Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/cocoa/qnsview.mm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 90d56bc3f3..872ae5ebbb 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -562,9 +562,11 @@ static QTouchDevice *touchDevice = 0; QPointF qtWindowPoint; QPointF qtScreenPoint; QNSView *targetView = self; - if (m_platformWindow && m_platformWindow->m_forwardWindow - && (theEvent.type == NSLeftMouseDragged || theEvent.type == NSLeftMouseUp)) { - targetView = m_platformWindow->m_forwardWindow->m_qtView; + if (m_platformWindow && m_platformWindow->m_forwardWindow) { + if (theEvent.type == NSLeftMouseDragged || theEvent.type == NSLeftMouseUp) + targetView = m_platformWindow->m_forwardWindow->m_qtView; + else + m_platformWindow->m_forwardWindow = 0; } [targetView convertFromScreen:[NSEvent mouseLocation] toWindowPoint:&qtWindowPoint andScreenPoint:&qtScreenPoint];