summaryrefslogtreecommitdiffstats
path: root/src/widgets/util/qsystemtrayicon_qpa.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/util/qsystemtrayicon_qpa.cpp')
-rw-r--r--src/widgets/util/qsystemtrayicon_qpa.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/widgets/util/qsystemtrayicon_qpa.cpp b/src/widgets/util/qsystemtrayicon_qpa.cpp
index c0bf058681..f2b0819132 100644
--- a/src/widgets/util/qsystemtrayicon_qpa.cpp
+++ b/src/widgets/util/qsystemtrayicon_qpa.cpp
@@ -42,6 +42,7 @@
#include <QtGui/qpa/qplatformsystemtrayicon.h>
#include <qpa/qplatformtheme.h>
#include <private/qguiapplication_p.h>
+#include <private/qhighdpiscaling_p.h>
#include <QApplication>
#include <QStyle>
@@ -75,10 +76,14 @@ void QSystemTrayIconPrivate::remove_sys()
QRect QSystemTrayIconPrivate::geometry_sys() const
{
- if (qpa_sys)
- return qpa_sys->geometry();
- else
+ if (!qpa_sys)
return QRect();
+ auto screen = QGuiApplication::primaryScreen();
+#if QT_CONFIG(menu)
+ if (menu)
+ screen = menu->screen();
+#endif
+ return QHighDpi::fromNativePixels(qpa_sys->geometry(), screen);
}
void QSystemTrayIconPrivate::updateIcon_sys()