diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-08-04 12:24:01 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-08-05 06:31:50 +0200 |
commit | f6ee80912f99f2605f344face5523134786a67ec (patch) | |
tree | 20666db7a2294c3df7303c0947c5c06c4d5feb06 /src/plugins | |
parent | 501fe9f9395eedc8294f5098466a322b32d13ea4 (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.cpp | 6 |
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 ¶mL : 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 ¶mL 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() |