summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTim Blechmann <tim@klingt.org>2015-08-06 09:44:25 +0200
committerTim Blechmann <tim@klingt.org>2015-08-06 10:48:44 +0000
commit11de131053fb5a9777c0b30dd39d5c978aedb87e (patch)
tree7ba5fdc80b69dc92e53fee714c8b75a27460f8b3 /src
parent462e537e0334838a9bf90735f9fd14e1b91fc987 (diff)
platforms: cocoa - fix QCocoaWindow::bottomLeftClippedByNSWindowOffset
bottomLeftClippedByNSWindowOffset did not take multiple clippings into account. with this patch, we compute the offset via NSView-visibleRect. Change-Id: If4ec02eb983e30f7cc5a6a1cb73e8f5c28fe1551 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index e1d09c0400..aba25160dc 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -1850,12 +1850,11 @@ QPoint QCocoaWindow::bottomLeftClippedByNSWindowOffset() const
{
if (!m_contentView)
return QPoint();
- NSPoint origin = [m_contentView isFlipped] ?
- NSMakePoint(0, [m_contentView frame].size.height) :
- NSMakePoint(0, 0);
- NSPoint windowPoint = [m_contentView convertPoint:origin toView:nil];
+ const NSPoint origin = [m_contentView isFlipped] ? NSMakePoint(0, [m_contentView frame].size.height)
+ : NSMakePoint(0, 0);
+ const NSRect visibleRect = [m_contentView visibleRect];
- return QPoint(-std::min((int)windowPoint.x, 0), -std::min((int)windowPoint.y,0));
+ return QPoint(visibleRect.origin.x, -visibleRect.origin.y + (origin.y - visibleRect.size.height));
}
QMargins QCocoaWindow::frameMargins() const