IDEA-147099 ICSE at com.intellij.openapi.wm.impl.ToolWindowManagerImpl$RemoveWindowed... dbe/144.902
authorVassiliy.Kudryashov <Vassiliy.Kudryashov@jetbrains.com>
Fri, 6 Nov 2015 19:41:25 +0000 (22:41 +0300)
committerVassiliy.Kudryashov <Vassiliy.Kudryashov@jetbrains.com>
Fri, 6 Nov 2015 20:04:04 +0000 (23:04 +0300)
platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java

index 41885d1cd8232f1d9478232099cbd7b4754be220..6b62e19a910649e29e956018771a159e34471e17 100644 (file)
@@ -975,7 +975,7 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements
 
     deactivateToolWindowImpl(id, true, commandList);
 
-    if (hideSide && !info.isFloating()) {
+    if (hideSide && !info.isFloating() && !info.isWindowed()) {
       final List<String> ids = myLayout.getVisibleIdsOn(info.getAnchor(), this);
       for (String each : ids) {
         myActiveStack.remove(each, true);
@@ -2231,6 +2231,7 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements
       myId2WindowedDecorator.remove(info.getId());
 
       JRootPane rootPane = ((RootPaneContainer)myWindowedDecorator.getFrame()).getRootPane();
+      if (!rootPane.isShowing()) return;
       Rectangle bounds = rootPane.getBounds();
       Point location = rootPane.getLocationOnScreen();
       bounds.setBounds(location.x - DIVIDER_WIDTH, location.y - DIVIDER_WIDTH, bounds.width + 2 * DIVIDER_WIDTH, bounds.height + 2 * DIVIDER_WIDTH);