Don't allow setting menu for child windows in IntSetMenu.
authorFilip Navara <filip.navara@gmail.com>
Tue, 26 Jul 2005 10:35:13 +0000 (10:35 +0000)
committerFilip Navara <filip.navara@gmail.com>
Tue, 26 Jul 2005 10:35:13 +0000 (10:35 +0000)
svn path=/trunk/; revision=16735

reactos/subsys/win32k/ntuser/window.c

index 2b8b434..f0790e5 100644 (file)
@@ -499,13 +499,19 @@ IntSetMenu(
 {
   PMENU_OBJECT OldMenuObject, NewMenuObject = NULL;
 
+  if ((WindowObject->Style & (WS_CHILD | WS_POPUP)) == WS_CHILD)
+    {
+      SetLastWin32Error(ERROR_INVALID_WINDOW_HANDLE);
+      return FALSE;
+    }
+
   *Changed = (WindowObject->IDMenu != (UINT) Menu);
   if (! *Changed)
     {
       return TRUE;
     }
 
-  if (0 != WindowObject->IDMenu)
+  if (WindowObject->IDMenu)
     {
       OldMenuObject = IntGetMenuObject((HMENU) WindowObject->IDMenu);
       ASSERT(NULL == OldMenuObject || OldMenuObject->MenuInfo.Wnd == WindowObject->Self);