summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/cocoa/qnsview.mm
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/cocoa/qnsview.mm')
-rw-r--r--src/plugins/platforms/cocoa/qnsview.mm18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index 4a562f8a4e..cc8fe51e0f 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -142,6 +142,7 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
m_shouldInvalidateWindowShadow = false;
m_window = 0;
m_buttons = Qt::NoButton;
+ m_frameStrutButtons = Qt::NoButton;
m_sendKeyEvent = false;
m_subscribesForGlobalFrameNotifications = false;
#ifndef QT_NO_OPENGL
@@ -603,7 +604,7 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
- (BOOL)acceptsFirstResponder
{
- if (m_window->flags() & Qt::WindowDoesNotAcceptFocus)
+ if (m_platformWindow->shouldRefuseKeyWindowAndFirstResponder())
return NO;
if (m_window->flags() & Qt::WindowTransparentForInput)
return NO;
@@ -661,6 +662,7 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
- (void)resetMouseButtons
{
m_buttons = Qt::NoButton;
+ m_frameStrutButtons = Qt::NoButton;
}
- (void)handleMouseEvent:(NSEvent *)theEvent
@@ -693,22 +695,22 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
NSEventType ty = [theEvent type];
switch (ty) {
case NSLeftMouseDown:
- m_buttons |= Qt::LeftButton;
+ m_frameStrutButtons |= Qt::LeftButton;
break;
case NSLeftMouseUp:
- m_buttons &= ~Qt::LeftButton;
+ m_frameStrutButtons &= ~Qt::LeftButton;
break;
case NSRightMouseDown:
- m_buttons |= Qt::RightButton;
+ m_frameStrutButtons |= Qt::RightButton;
break;
case NSRightMouseUp:
- m_buttons &= ~Qt::RightButton;
+ m_frameStrutButtons &= ~Qt::RightButton;
break;
case NSOtherMouseDown:
- m_buttons |= cocoaButton2QtButton([theEvent buttonNumber]);
+ m_frameStrutButtons |= cocoaButton2QtButton([theEvent buttonNumber]);
break;
case NSOtherMouseUp:
- m_buttons &= ~cocoaButton2QtButton([theEvent buttonNumber]);
+ m_frameStrutButtons &= ~cocoaButton2QtButton([theEvent buttonNumber]);
default:
break;
}
@@ -726,7 +728,7 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
QPoint qtScreenPoint = QPoint(screenPoint.x, qt_mac_flipYCoordinate(screenPoint.y));
ulong timestamp = [theEvent timestamp] * 1000;
- QWindowSystemInterface::handleFrameStrutMouseEvent(m_window, timestamp, qtWindowPoint, qtScreenPoint, m_buttons);
+ QWindowSystemInterface::handleFrameStrutMouseEvent(m_window, timestamp, qtWindowPoint, qtScreenPoint, m_frameStrutButtons);
}
- (void)mouseDown:(NSEvent *)theEvent