diff --git a/reactos/subsystems/win32/win32k/ntuser/event.c b/reactos/subsystems/win32/win32k/ntuser/event.c index 2c5a91e53c1..e768c2e09d0 100644 --- a/reactos/subsystems/win32/win32k/ntuser/event.c +++ b/reactos/subsystems/win32/win32k/ntuser/event.c @@ -299,17 +299,21 @@ NtUserNotifyWinEvent( UserEnterExclusive(); /* Validate input */ - if (hWnd && (hWnd != INVALID_HANDLE_VALUE) && !(Window = UserGetWindowObject(hWnd))) + if (hWnd && (hWnd != INVALID_HANDLE_VALUE)) { - UserLeave(); - return; + Window = UserGetWindowObject(hWnd); + if (!Window) + { + UserLeave(); + return; + } } if (gpsi->dwInstalledEventHooks & GetMaskFromEvent(Event)) { - UserRefObjectCo(Window, &Ref); + if (Window) UserRefObjectCo(Window, &Ref); IntNotifyWinEvent( Event, Window, idObject, idChild, WEF_SETBYWNDPTI); - UserDerefObjectCo(Window); + if (Window) UserDerefObjectCo(Window); } UserLeave(); }