diff --git a/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java b/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java index 5e09f19f128f..5379d23a379f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/ui/impl/DialogWrapperPeerImpl.java @@ -560,10 +560,14 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra } public void setSize(int width, int height) { - Point location = getLocation(); + _setSizeForLocation(width, height, null); + } + + private void _setSizeForLocation(int width, int height, @Nullable Point initial) { + Point location = initial != null ? initial : getLocation(); Rectangle rect = new Rectangle(location.x, location.y, width, height); ScreenUtil.fitToScreen(rect); - if (location.x != rect.x || location.y != rect.y) { + if (initial != null || location.x != rect.x || location.y != rect.y) { setLocation(rect.x, rect.y); } @@ -609,7 +613,7 @@ public class DialogWrapperPeerImpl extends DialogWrapperPeer implements FocusTra Dimension size = DimensionService.getInstance().getSize(myDimensionServiceKey, projectGuess); if (size != null) { myInitialSize = (Dimension)size.clone(); - setSize(myInitialSize); + _setSizeForLocation(myInitialSize.width, myInitialSize.height, location); } }