--- trunk/reactos/lib/user32/windows/defwnd.c 2005-07-18 03:12:01 UTC (rev 16629)
+++ trunk/reactos/lib/user32/windows/defwnd.c 2005-07-18 03:13:11 UTC (rev 16630)
@@ -1269,14 +1269,15 @@
if (!lParam)
return 0;
Style = GetWindowLongW(hWnd, GWL_STYLE);
- if (!(Style & WS_POPUP))
- return 0;
+// if (!(Style & WS_POPUP))
+// return 0;
if ((Style & WS_VISIBLE) && wParam)
return 0;
if (!(Style & WS_VISIBLE) && !wParam)
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);
break;
}
--- trunk/reactos/lib/user32/windows/window.c 2005-07-18 03:12:01 UTC (rev 16629)
+++ trunk/reactos/lib/user32/windows/window.c 2005-07-18 03:13:11 UTC (rev 16630)
@@ -51,17 +51,6 @@
/*
* @unimplemented
*/
-UINT STDCALL
-ArrangeIconicWindows(HWND hWnd)
-{
- UNIMPLEMENTED;
- return 0;
-}
-
-
-/*
- * @unimplemented
- */
HDWP STDCALL
BeginDeferWindowPos(int nNumWindows)
{
@@ -1084,15 +1073,15 @@
BOOL visible;
visible = IsWindowVisible(hwnd);
-// if(!IsWindow(hwnd) ||
-// (visible && !(dwFlags & AW_HIDE)) ||
-// (!visible && (dwFlags & AW_HIDE)))
+ if(!IsWindow(hwnd) ||
+ (visible && !(dwFlags & AW_HIDE)) ||
+ (!visible && (dwFlags & AW_HIDE)))
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
-// ShowWindow(hwnd, (dwFlags & AW_HIDE) ? SW_HIDE : ((dwFlags & AW_ACTIVATE) ? SW_SHOW : SW_SHOWNA));
+ ShowWindow(hwnd, (dwFlags & AW_HIDE) ? SW_HIDE : ((dwFlags & AW_ACTIVATE) ? SW_SHOW : SW_SHOWNA));
return TRUE;
}
@@ -1273,14 +1262,13 @@
/*
- * @unimplemented
+ * @implemented
*/
BOOL STDCALL
ShowOwnedPopups(HWND hWnd,
BOOL fShow)
{
- UNIMPLEMENTED;
- return FALSE;
+ return (BOOL)NtUserCallTwoParam((DWORD)hWnd, fShow, TWOPARAM_ROUTINE_SHOWOWNEDPOPUPS);
}
--- trunk/reactos/lib/user32/windows/winpos.c 2005-07-18 03:12:01 UTC (rev 16629)
+++ trunk/reactos/lib/user32/windows/winpos.c 2005-07-18 03:13:11 UTC (rev 16630)
@@ -55,3 +55,11 @@
return(NtUserSetActiveWindow(hWnd));
}
+/*
+ * @unimplemented
+ */
+UINT STDCALL
+ArrangeIconicWindows(HWND hWnd)
+{
+ return NtUserCallHwndLock( hWnd, HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS);
+}