summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2014-08-04 12:24:01 +0200
committerFriedemann Kleint <Friedemann.Kleint@digia.com>2014-08-05 06:31:50 +0200
commitf6ee80912f99f2605f344face5523134786a67ec (patch)
tree20666db7a2294c3df7303c0947c5c06c4d5feb06 /src/plugins
parent501fe9f9395eedc8294f5098466a322b32d13ea4 (diff)
Windows: Ensure DPI awareness is set only once.
Fix warning: QWARN : tst_QGuiApplication::execAfterExit() SetProcessDpiAwareness failed: "COM error 0xffffffff80070005 (Unknown error 0x0ffffffff80070005)" occurring when instantiating QGuiApplication repeatedly in tests. Task-number: QTBUG-38993 Change-Id: Id6c8e915b25011bb60c2f8b1d0e4a794cd345647 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/windows/qwindowsintegration.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/windows/qwindowsintegration.cpp b/src/plugins/platforms/windows/qwindowsintegration.cpp
index 529dd75ed5..7c50ac69c2 100644
--- a/src/plugins/platforms/windows/qwindowsintegration.cpp
+++ b/src/plugins/platforms/windows/qwindowsintegration.cpp
@@ -217,6 +217,7 @@ QWindowsIntegrationPrivate::QWindowsIntegrationPrivate(const QStringList &paramL
: m_options(0)
, m_fontDatabase(0)
{
+ static bool dpiAwarenessSet = false;
int tabletAbsoluteRange = -1;
// Default to per-monitor awareness to avoid being scaled when monitors with different DPI
// are connected to Windows 8.1
@@ -224,7 +225,10 @@ QWindowsIntegrationPrivate::QWindowsIntegrationPrivate(const QStringList &paramL
m_options = parseOptions(paramList, &tabletAbsoluteRange, &dpiAwareness);
if (tabletAbsoluteRange >= 0)
m_context.setTabletAbsoluteRange(tabletAbsoluteRange);
- m_context.setProcessDpiAwareness(dpiAwareness);
+ if (!dpiAwarenessSet) { // Set only once in case of repeated instantiations of QGuiApplication.
+ m_context.setProcessDpiAwareness(dpiAwareness);
+ dpiAwarenessSet = true;
+ }
}
QWindowsIntegrationPrivate::~QWindowsIntegrationPrivate()