Windows Screengrab DPI fix improvements (#2)

* Load User32 after possible return

* Removed unused setting of variable
This commit is contained in:
Andrew Murray 2019-08-03 21:52:05 +10:00 committed by Andrew Murray
parent cacbdc680c
commit d46f81afba

View File

@ -332,8 +332,8 @@ PyImaging_GrabScreenWin32(PyObject* self, PyObject* args)
DWORD rop;
PyObject* buffer;
HANDLE dpiAwareness;
HMODULE user32 = LoadLibraryA("User32.dll");
Func_SetThreadDpiAwarenessContext SetThreadDpiAwarenessContext_function;
HMODULE user32;
Func_SetThreadDpiAwarenessContext SetThreadDpiAwarenessContext_function;
if (!PyArg_ParseTuple(args, "|i", &includeLayeredWindows))
return NULL;
@ -346,6 +346,7 @@ PyImaging_GrabScreenWin32(PyObject* self, PyObject* args)
// added in Windows 10 (1607)
// loaded dynamically to avoid link errors
user32 = LoadLibraryA("User32.dll");
SetThreadDpiAwarenessContext_function =
(Func_SetThreadDpiAwarenessContext)
GetProcAddress(user32, "SetThreadDpiAwarenessContext");
@ -358,7 +359,7 @@ PyImaging_GrabScreenWin32(PyObject* self, PyObject* args)
height = GetDeviceCaps(screen, VERTRES);
if (SetThreadDpiAwarenessContext_function != NULL) {
dpiAwareness = SetThreadDpiAwarenessContext_function(dpiAwareness);
SetThreadDpiAwarenessContext_function(dpiAwareness);
}
FreeLibrary(user32);