summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.h2
-rw-r--r--src/plugins/platforms/cocoa/qnswindowdelegate.h1
-rw-r--r--src/plugins/platforms/cocoa/qnswindowdelegate.mm11
3 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.h b/src/plugins/platforms/cocoa/qnsview.h
index ca2a15a1cc..403f8dc78a 100644
--- a/src/plugins/platforms/cocoa/qnsview.h
+++ b/src/plugins/platforms/cocoa/qnsview.h
@@ -93,6 +93,8 @@ QT_END_NAMESPACE
- (BOOL)hasMask;
- (BOOL)isOpaque;
+- (void)convertFromScreen:(NSPoint)mouseLocation toWindowPoint:(QPointF *)qtWindowPoint andScreenPoint:(QPointF *)qtScreenPoint;
+
- (void)resetMouseButtons;
- (void)handleMouseEvent:(NSEvent *)theEvent;
diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.h b/src/plugins/platforms/cocoa/qnswindowdelegate.h
index 06e11fffbb..5717551cc3 100644
--- a/src/plugins/platforms/cocoa/qnswindowdelegate.h
+++ b/src/plugins/platforms/cocoa/qnswindowdelegate.h
@@ -53,6 +53,7 @@
- (id)initWithQCocoaWindow: (QCocoaWindow *) cocoaWindow;
+- (void)windowDidBecomeKey:(NSNotification *)notification;
- (void)windowDidResize:(NSNotification *)notification;
- (void)windowDidMove:(NSNotification *)notification;
- (void)windowWillMove:(NSNotification *)notification;
diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.mm b/src/plugins/platforms/cocoa/qnswindowdelegate.mm
index 10536bd5f4..c9b3d69381 100644
--- a/src/plugins/platforms/cocoa/qnswindowdelegate.mm
+++ b/src/plugins/platforms/cocoa/qnswindowdelegate.mm
@@ -56,6 +56,17 @@
return self;
}
+- (void)windowDidBecomeKey:(NSNotification *)notification
+{
+ Q_UNUSED(notification);
+ if (m_cocoaWindow->m_windowUnderMouse) {
+ QPointF windowPoint;
+ QPointF screenPoint;
+ [m_cocoaWindow->m_qtView convertFromScreen:[NSEvent mouseLocation] toWindowPoint:&windowPoint andScreenPoint:&screenPoint];
+ QWindowSystemInterface::handleEnterEvent(m_cocoaWindow->m_enterLeaveTargetWindow, windowPoint, screenPoint);
+ }
+}
+
- (void)windowDidResize:(NSNotification *)notification
{
Q_UNUSED(notification);