Commit in reactos on MAIN
include/win32k/ntuser.h+6-51.131 -> 1.132
lib/user32/include/user32.h+21.24 -> 1.25
lib/user32/misc/stubs.c+1-121.60 -> 1.61
lib/user32/windows/window.c+11-11.113 -> 1.114
subsys/win32k/include/window.h+31.55 -> 1.56
subsys/win32k/ntuser/misc.c+6-21.67 -> 1.68
                    /window.c+31-11.221 -> 1.222
+60-21
7 modified files
implemented AnyPopup()

reactos/include/win32k
ntuser.h 1.131 -> 1.132
diff -u -r1.131 -r1.132
--- ntuser.h	1 May 2004 16:43:14 -0000	1.131
+++ ntuser.h	1 May 2004 18:06:59 -0000	1.132
@@ -156,11 +156,12 @@
   WPARAM wParam,
   LPARAM lParam);
 
-#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE 0xffff0001 /* Private ROS */
-#define NOPARAM_ROUTINE_DESTROY_CARET      0xffff0002
-#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP 0xffff0003
-#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP  0xffff0004
-#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO 0xffff0005
+#define NOPARAM_ROUTINE_REGISTER_PRIMITIVE	0xffff0001 /* Private ROS */
+#define NOPARAM_ROUTINE_DESTROY_CARET	0xffff0002
+#define NOPARAM_ROUTINE_UNINIT_MESSAGE_PUMP	0xffff0003
+#define NOPARAM_ROUTINE_INIT_MESSAGE_PUMP	0xffff0004
+#define NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO	0xffff0005
+#define NOPARAM_ROUTINE_ANYPOPUP	0xffff0006
 DWORD
 STDCALL
 NtUserCallNoParam(

reactos/lib/user32/include
user32.h 1.24 -> 1.25
diff -u -r1.24 -r1.25
--- user32.h	1 May 2004 16:43:14 -0000	1.24
+++ user32.h	1 May 2004 18:06:59 -0000	1.25
@@ -30,6 +30,8 @@
 VOID DeleteFrameBrushes(VOID);
 void DrawCaret(HWND hWnd, PTHRDCARETINFO CaretInfo);
 
+#define NtUserAnyPopup() \
+  (BOOL)NtUserCallNoParam(NOPARAM_ROUTINE_ANYPOPUP)
 
 #define NtUserValidateRgn(hWnd, hRgn) \
   (BOOL)NtUserCallTwoParam((DWORD)hWnd, (DWORD)hRgn, TWOPARAM_ROUTINE_VALIDATERGN)

reactos/lib/user32/misc
stubs.c 1.60 -> 1.61
diff -u -r1.60 -r1.61
--- stubs.c	1 May 2004 16:43:14 -0000	1.60
+++ stubs.c	1 May 2004 18:06:59 -0000	1.61
@@ -1,4 +1,4 @@
-/* $Id: stubs.c,v 1.60 2004/05/01 16:43:14 weiden Exp $
+/* $Id: stubs.c,v 1.61 2004/05/01 18:06:59 weiden Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS user32.dll
@@ -23,17 +23,6 @@
  */
 BOOL
 STDCALL
-AnyPopup(VOID)
-{
-  UNIMPLEMENTED;
-  return FALSE;
-}
-
-/*
- * @unimplemented
- */
-BOOL
-STDCALL
 AttachThreadInput(
   DWORD idAttach,
   DWORD idAttachTo,

reactos/lib/user32/windows
window.c 1.113 -> 1.114
diff -u -r1.113 -r1.114
--- window.c	29 Apr 2004 21:13:16 -0000	1.113
+++ window.c	1 May 2004 18:06:59 -0000	1.114
@@ -1,4 +1,4 @@
-/* $Id: window.c,v 1.113 2004/04/29 21:13:16 gvg Exp $
+/* $Id: window.c,v 1.114 2004/05/01 18:06:59 weiden Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS user32.dll
@@ -1645,5 +1645,15 @@
       prcUpdate, flags);
 }
 
+/*
+ * @implemented
+ */
+BOOL
+STDCALL
+AnyPopup(VOID)
+{
+  return NtUserAnyPopup();
+}
+
 /* EOF */
 	 

reactos/subsys/win32k/include
window.h 1.55 -> 1.56
diff -u -r1.55 -r1.56
--- window.h	17 Apr 2004 11:00:14 -0000	1.55
+++ window.h	1 May 2004 18:06:59 -0000	1.56
@@ -210,6 +210,9 @@
 VOID FASTCALL
 IntGetWindowBorderMeasures(PWINDOW_OBJECT WindowObject, INT *cx, INT *cy);
 
+BOOL FASTCALL
+IntAnyPopup(VOID);
+
 DWORD IntRemoveWndProcHandle(WNDPROC Handle);
 DWORD IntRemoveProcessWndProcHandles(HANDLE ProcessID);
 DWORD IntAddWndProcHandle(WNDPROC WindowProc, BOOL IsUnicode);

reactos/subsys/win32k/ntuser
misc.c 1.67 -> 1.68
diff -u -r1.67 -r1.68
--- misc.c	1 May 2004 16:43:15 -0000	1.67
+++ misc.c	1 May 2004 18:06:59 -0000	1.68
@@ -1,4 +1,4 @@
-/* $Id: misc.c,v 1.67 2004/05/01 16:43:15 weiden Exp $
+/* $Id: misc.c,v 1.68 2004/05/01 18:06:59 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -132,7 +132,11 @@
     case NOPARAM_ROUTINE_GETMESSAGEEXTRAINFO:
       Result = (DWORD)MsqGetMessageExtraInfo();
       break;
-
+    
+    case NOPARAM_ROUTINE_ANYPOPUP:
+      Result = (DWORD)IntAnyPopup();
+      break;
+    
     default:
       DPRINT1("Calling invalid routine number 0x%x in NtUserCallNoParam\n");
       SetLastWin32Error(ERROR_INVALID_PARAMETER);

reactos/subsys/win32k/ntuser
window.c 1.221 -> 1.222
diff -u -r1.221 -r1.222
--- window.c	29 Apr 2004 21:17:36 -0000	1.221
+++ window.c	1 May 2004 18:06:59 -0000	1.222
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: window.c,v 1.221 2004/04/29 21:17:36 gvg Exp $
+/* $Id: window.c,v 1.222 2004/05/01 18:06:59 weiden Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS kernel
@@ -1070,6 +1070,36 @@
   IntUnLockRelatives(Wnd);
 }
 
+BOOL FASTCALL
+IntAnyPopup(VOID)
+{
+  PWINDOW_OBJECT Window, Child;
+  
+  if(!(Window = IntGetWindowObject(IntGetDesktopWindow())))
+  {
+    SetLastWin32Error(ERROR_INVALID_WINDOW_HANDLE);
+    return FALSE;
+  }
+  
+  IntLockRelatives(Window);
+  for(Child = Window->FirstChild; Child; Child = Child->NextSibling)
+  {
+    if(Child->Owner && Child->Style & WS_VISIBLE)
+    {
+      /*
+       * The desktop has a popup window if one of them has 
+       * an owner window and is visible
+       */
+      IntUnLockRelatives(Window);
+      IntReleaseWindowObject(Window);
+      return TRUE;
+    }
+  }
+  IntUnLockRelatives(Window);
+  IntReleaseWindowObject(Window);
+  return FALSE;
+}
+
 /* FUNCTIONS *****************************************************************/
 
 /*
CVSspam 0.2.8