Make sure that HWND comparisons are always done with full 32-bit
handles.

diff --git a/controls/menu.c b/controls/menu.c
index 6092b45..675026d 100644
--- a/controls/menu.c
+++ b/controls/menu.c
@@ -353,7 +353,7 @@
     {
 	POPUPMENU *menu = MENU_GetMenu(hMenu);
 	menu->wFlags = MF_SYSMENU;
-	menu->hWnd = hWnd;
+	menu->hWnd = WIN_GetFullHandle( hWnd );
 
 	if (hPopupMenu == (HMENU)(-1))
 	    hPopupMenu = MENU_CopySysPopup();
@@ -2362,7 +2362,7 @@
 	else    /* application returned a new menu to switch to */
 	{
             hNewMenu = next_menu.hmenuNext;
-            hNewWnd = next_menu.hwndNext;
+            hNewWnd = WIN_GetFullHandle( next_menu.hwndNext );
 
 	    if( IsMenu(hNewMenu) && IsWindow(hNewWnd) )
 	    {
@@ -2609,7 +2609,7 @@
     mt.trackFlags = 0;
     mt.hCurrentMenu = hmenu;
     mt.hTopMenu = hmenu;
-    mt.hOwnerWnd = hwnd;
+    mt.hOwnerWnd = WIN_GetFullHandle( hwnd );
     mt.pt.x = x;
     mt.pt.y = y;
 
@@ -3968,6 +3968,7 @@
     }
     if (GetWindowLongA( hWnd, GWL_STYLE ) & WS_CHILD) return FALSE;
 
+    hWnd = WIN_GetFullHandle( hWnd );
     if (GetCapture() == hWnd) ReleaseCapture();
 
     if (hMenu != 0)