diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java index 3bce7f3634..dbdfc7fd7b 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Menu.java @@ -261,7 +261,7 @@ void _setVisible (boolean visible) { void _showMenu (boolean visible, MenuItem menuItem) { long hwndParent = parent.handle; if (visible) { - Rectangle r = menuItem.getBounds(); + Rectangle r = DPIUtil.scaleDown(menuItem.getBounds(), menuItem.getZoom()); Point p = getDisplay().map(parent, null, new Point(r.x, r.y)); boolean success = OS.TrackPopupMenu (handle, 0, p.x, p.y, 0, hwndParent, null); if (!success && OS.GetMenuItemCount (handle) == 0) {