diff options
author | Petr Mrázek <peterix@users.noreply.github.com> | 2021-03-26 20:36:28 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-26 20:36:28 +0000 |
commit | adf2301b2aa146fa02595b68cf75507709f96862 (patch) | |
tree | a2bf52cf3ceb50d29b0279bf31321d5682dd1f60 | |
parent | 9d76219434d3d14d63a3cf8a0ee216f8198a29a2 (diff) | |
parent | 34bf68847998cdfff1360d6ed04339d36894c00d (diff) | |
download | PrismLauncher-adf2301b2aa146fa02595b68cf75507709f96862.tar.gz PrismLauncher-adf2301b2aa146fa02595b68cf75507709f96862.tar.bz2 PrismLauncher-adf2301b2aa146fa02595b68cf75507709f96862.zip |
Merge pull request #3684 from KGB-8375/patch-1
GH-3666 Fix multi-monitor dpi scaling on windows
-rw-r--r-- | application/main.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/application/main.cpp b/application/main.cpp index b0360c7e..e29f3453 100644 --- a/application/main.cpp +++ b/application/main.cpp @@ -4,6 +4,10 @@ #include <InstanceList.h> #include <QDebug> +#ifdef Q_OS_WIN + #include<windows.h> +#endif + // #define BREAK_INFINITE_LOOP // #define BREAK_EXCEPTION // #define BREAK_RETURN @@ -29,7 +33,19 @@ int main(int argc, char *argv[]) #endif #if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) - QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + #ifdef Q_OS_WIN + BOOL (__stdcall *pFn)(void); + HINSTANCE hInstance=LoadLibrary("user32.dll"); + if(hInstance) { + pFn = (BOOL (__stdcall*)(void))GetProcAddress(hInstance, "SetProcessDPIAware"); + if(pFn) + pFn(); + FreeLibrary(hInstance); + } + QApplication::setAttribute(Qt::AA_DisableHighDpiScaling); + #else + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + #endif QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); #endif |