@@ -329,7 +329,7 @@ PyImaging_GrabScreenWin32(PyObject *self, PyObject *args) {
329
329
HWND wnd ;
330
330
DWORD rop ;
331
331
PyObject * buffer ;
332
- HANDLE dpiAwareness ;
332
+ HANDLE dpiAwareness = NULL ;
333
333
HMODULE user32 ;
334
334
Func_GetWindowDpiAwarenessContext GetWindowDpiAwarenessContext_function ;
335
335
Func_SetThreadDpiAwarenessContext SetThreadDpiAwarenessContext_function ;
@@ -360,22 +360,15 @@ PyImaging_GrabScreenWin32(PyObject *self, PyObject *args) {
360
360
SetThreadDpiAwarenessContext_function = (Func_SetThreadDpiAwarenessContext
361
361
)GetProcAddress (user32 , "SetThreadDpiAwarenessContext" );
362
362
if (SetThreadDpiAwarenessContext_function != NULL ) {
363
- if (screens == -1 ) {
364
- GetWindowDpiAwarenessContext_function = (Func_GetWindowDpiAwarenessContext
365
- )GetProcAddress (user32 , "GetWindowDpiAwarenessContext" );
366
- DPI_AWARENESS_CONTEXT dpiAwarenessContext =
367
- GetWindowDpiAwarenessContext_function (wnd );
368
- if (GetWindowDpiAwarenessContext_function != NULL &&
369
- dpiAwarenessContext != NULL ) {
370
- dpiAwareness =
371
- SetThreadDpiAwarenessContext_function (dpiAwarenessContext );
372
- } else {
373
- dpiAwareness = SetThreadDpiAwarenessContext_function ((HANDLE )- 3 );
374
- }
375
- } else {
376
- // DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE = ((DPI_CONTEXT_HANDLE)-3)
377
- dpiAwareness = SetThreadDpiAwarenessContext_function ((HANDLE )- 3 );
363
+ GetWindowDpiAwarenessContext_function = (Func_GetWindowDpiAwarenessContext
364
+ )GetProcAddress (user32 , "GetWindowDpiAwarenessContext" );
365
+ if (screens == -1 && GetWindowDpiAwarenessContext_function != NULL ) {
366
+ dpiAwareness = GetWindowDpiAwarenessContext_function (wnd );
378
367
}
368
+ // DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE = ((DPI_CONTEXT_HANDLE)-3)
369
+ dpiAwareness = SetThreadDpiAwarenessContext_function (
370
+ dpiAwareness == NULL ? (HANDLE )- 3 : dpiAwareness
371
+ );
379
372
}
380
373
381
374
if (screens == 1 ) {
0 commit comments