diff --git a/reactos/dll/win32/user32/windows/defwnd.c b/reactos/dll/win32/user32/windows/defwnd.c index b8c756d891b..5f2cd550df8 100644 --- a/reactos/dll/win32/user32/windows/defwnd.c +++ b/reactos/dll/win32/user32/windows/defwnd.c @@ -1268,7 +1268,8 @@ User32DefWindowProc(HWND hWnd, case WM_SHOWWINDOW: { LONG Style; - + INT Ret = 0; + if (!lParam) return 0; Style = GetWindowLongW(hWnd, GWL_STYLE); @@ -1280,8 +1281,13 @@ User32DefWindowProc(HWND hWnd, return 0; if (!GetWindow(hWnd, GW_OWNER)) return 0; - NtUserCallTwoParam((DWORD) hWnd, (DWORD) wParam, TWOPARAM_ROUTINE_ROS_SHOWWINDOW); - ShowWindow(hWnd, wParam ? SW_SHOWNA : SW_HIDE); + Ret = NtUserCallTwoParam((DWORD) hWnd, (DWORD) wParam, TWOPARAM_ROUTINE_ROS_SHOWWINDOW); + if(Ret) + { + if( Ret == -1) return 0; + return Ret; + } + ShowWindow(hWnd, wParam ? SW_SHOWNOACTIVATE : SW_HIDE); break; }