summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMorten Johan Sørvig <morten.sorvig@qt.io>2018-02-22 09:24:32 +0100
committerMorten Johan Sørvig <morten.sorvig@qt.io>2018-02-26 07:00:29 +0000
commit8bb33c2509a9c7011bba5f6cade34dc293fb85af (patch)
tree705d65751491b60143771a2a53154a5e67333163 /src
parent669070c404b9cbeac9ad8050600ec6b90bdcb756 (diff)
Cocoa: Fix incorrect QSystemTrayIcon::geometry()
The coordinate conversion was wrong. Use QCocoaScreen::mapFromNative() instead. Task-number: QTBUG-53184 Change-Id: I50f18d68ba5d7e1cb5046523a608bfa2e076d7ea Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index f4c968ab57..5e6913a89a 100644
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
@@ -84,6 +84,8 @@
#include "qt_mac_p.h"
#include "qcocoahelpers.h"
+#include "qcocoaintegration.h"
+#include "qcocoascreen.h"
#include <QtGui/private/qcoregraphics_p.h>
#import <AppKit/AppKit.h>
@@ -385,9 +387,8 @@ QT_END_NAMESPACE
}
-(QRectF)geometry {
if (NSWindow *window = [[item view] window]) {
- NSRect screenRect = [[window screen] frame];
- NSRect windowRect = [window frame];
- return QRectF(windowRect.origin.x, screenRect.size.height-windowRect.origin.y-windowRect.size.height, windowRect.size.width, windowRect.size.height);
+ if (QCocoaScreen *screen = QCocoaIntegration::instance()->screenForNSScreen([window screen]))
+ return screen->mapFromNative([window frame]);
}
return QRectF();
}