Index: /trunk/src/plugins/org.eclipse.swt/Eclipse SWT/pm/org/eclipse/swt/widgets/Menu.java
===================================================================
--- /trunk/src/plugins/org.eclipse.swt/Eclipse SWT/pm/org/eclipse/swt/widgets/Menu.java	(revision 89)
+++ /trunk/src/plugins/org.eclipse.swt/Eclipse SWT/pm/org/eclipse/swt/widgets/Menu.java	(revision 90)
@@ -233,25 +233,4 @@
                                                         0		/* presentation parameters */
                                                         );
-//System.out.println (
-//    "Menu.createHandle(): FID_MENU window has been created:\n" +
-//    "    hwnd = " + Integer.toHexString (handle) + "\n" +
-//    "    hwnd.parent = hwnd.owner = " + Integer.toHexString (handle) + "\n" +
-//    "    class = WC_MENU\n" +
-//    "    style = MS_ACTIONBAR"
-//);
-	} else  if ((style & SWT.POP_UP) != 0) {
-            short flOptions = OS.PU_MOUSEBUTTON1DOWN | OS.PU_KEYBOARD | OS.PU_MOUSEBUTTON1;
-            handle = OS.WinCreateWindow (OS.HWND_DESKTOP,	/* parent window */
-                                                        PSZ.getAtom (OS.WC_MENU),	/* class name */
-                                                        null,	/* window text */
-                                                        0,	/* window style */
-                                                        0, 0, 0, 0, /* size and position */
-                                                        OS.HWND_DESKTOP,	/* owner window */
-                                                        OS.HWND_TOP, /* sibling window */
-                                                        OS.FID_MENU,	/* ID */
-                                                        OS.NULLHANDLE,	/* control data */
-                                                        0		/* presentation parameters */
-                                                        );
-          boolean rc = OS.WinPopupMenu(OS.HWND_DESKTOP, OS.HWND_DESKTOP, handle, 0, 0, 0, flOptions);
 System.out.println (
     "Menu.createHandle(): FID_MENU window has been created:\n" +
@@ -260,4 +239,25 @@
     "    class = WC_MENU\n" +
     "    style = MS_ACTIONBAR"
+);
+	} else  if ((style & SWT.POP_UP) != 0) {
+//            short flOptions = OS.PU_MOUSEBUTTON1DOWN | OS.PU_KEYBOARD | OS.PU_MOUSEBUTTON1;
+            handle = OS.WinCreateWindow (OS.HWND_DESKTOP,	/* parent window */
+                                                        PSZ.getAtom (OS.WC_MENU),	/* class name */
+                                                        null,	/* window text */
+                                                        0,	/* window style */
+                                                        0, 0, 0, 0, /* size and position */
+                                                        OS.NULLHANDLE,	/* owner window */
+                                                        OS.HWND_TOP, /* sibling window */
+                                                        0,	/* ID */
+                                                        OS.NULLHANDLE,	/* control data */
+                                                        0		/* presentation parameters */
+                                                        );
+//          boolean rc = OS.WinPopupMenu(OS.HWND_DESKTOP, OS.HWND_DESKTOP, handle, 0, 0, 0, flOptions);
+System.out.println (
+    "Menu.createHandle(): POPUP menu window has been created:\n" +
+    "    hwnd = " + Integer.toHexString (handle) + "\n" +
+    "    hwnd.parent = hwnd.owner = " + Integer.toHexString (parent.handle) + "\n" +
+    "    class = WC_MENU\n" +
+    "    style = 0"
 );
               
@@ -291,5 +291,5 @@
 	parent.add (item);
 	boolean success = false;
-
+        
         MENUITEM info = new MENUITEM();
         info.iPosition = OS.MIT_END;
@@ -335,5 +335,4 @@
 void destroyItem (MenuItem item) {
     int count = GetMenuItemCount (handle);
-    System.out.println("ITEMS antes de destroy = " + count);
     int rc = OS.WinSendMsg (handle, OS.MM_DELETEITEM,  OS.MPFROM2SHORT ((short)item.id, (short)OS.TRUE), 0);
 		if (rc == count) {
@@ -665,5 +664,5 @@
 void redraw () {
 	if ((style & SWT.BAR) != 0) {
-//            OS.WinSendMsg (frameHandle, OS.WM_UPDATEFRAME, OS.FCF_MENU, 0);
+            OS.WinSendMsg (parent.frameHandle, OS.WM_UPDATEFRAME, OS.FCF_MENU, 0);
 //		OS.DrawMenuBar (parent.handle);
 		return;
@@ -878,4 +877,7 @@
 	* the menu is zero and issue a fake WM_MENUSELECT.
 	*/
+         System.out.println("Menu:setVisible - HANDLE = " + Integer.toHexString (handle));
+         short flOptions = OS.PU_MOUSEBUTTON1DOWN | OS.PU_KEYBOARD | OS.PU_MOUSEBUTTON1;
+         boolean success = OS.WinPopupMenu(OS.HWND_DESKTOP, parent.handle, handle, 0, 0, 0, flOptions);
 //	boolean success = OS.TrackPopupMenu (handle, flags, nX, nY, 0, hwndParent, null);
 //	if (!success && GetMenuItemCount (handle) == 0) {
