diff -r eb56196e2a3a -r a99429b721a9 jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java --- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java Thu Mar 16 23:29:52 2017 +0300 +++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java Thu Mar 16 22:03:08 2017 +0300 @@ -298,25 +298,25 @@ */ protected Rectangle getSubmenuBounds(Rectangle itemBounds, Dimension windowSize) { Rectangle globalBounds = toGlobal(itemBounds); - Dimension screenSize = graphicsConfig.getBounds().getSize(); + Rectangle screenBounds = getCurrentGraphicsConfiguration().getBounds(); Rectangle res; - res = fitWindowBelow(globalBounds, windowSize, screenSize); + res = fitWindowBelow(globalBounds, windowSize, screenBounds); if (res != null) { return res; } - res = fitWindowAbove(globalBounds, windowSize, screenSize); + res = fitWindowAbove(globalBounds, windowSize, screenBounds); if (res != null) { return res; } - res = fitWindowRight(globalBounds, windowSize, screenSize); + res = fitWindowRight(globalBounds, windowSize, screenBounds); if (res != null) { return res; } - res = fitWindowLeft(globalBounds, windowSize, screenSize); + res = fitWindowLeft(globalBounds, windowSize, screenBounds); if (res != null) { return res; } - return fitWindowToScreen(windowSize, screenSize); + return fitWindowToScreen(windowSize, screenBounds); } /**