diff --git a/platform/platform-api/src/com/intellij/ui/tabs/impl/DragHelper.java b/platform/platform-api/src/com/intellij/ui/tabs/impl/DragHelper.java index 70428d60ca50..b38d2821aa59 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/impl/DragHelper.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/impl/DragHelper.java @@ -73,7 +73,7 @@ class DragHelper extends MouseDragHelper { protected void processDragOutFinish(MouseEvent event) { super.processDragOutFinish(event); - myDragOutSource.getDragOutDelegate().dragOutFinished(event, myDragSource); + myDragOutSource.getDragOutDelegate().dragOutFinished(event, myDragOutSource); } protected void processDrag(MouseEvent event, Point targetScreenPoint, Point startPointScreen) { diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java index 19f0d48d5e57..372e21e03b9b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorTabbedContainer.java @@ -567,7 +567,13 @@ final class EditorTabbedContainer implements Disposable, CloseAction.CloseTarget @Override public void dragOutFinished(MouseEvent event, TabInfo source) { - FileEditorManagerEx.getInstanceEx(myProject).closeFile(myFile, myWindow); + boolean copy = event.isMetaDown() || (!SystemInfo.isMac && event.isControlDown()); + if (!copy) { + FileEditorManagerEx.getInstanceEx(myProject).closeFile(myFile, myWindow); + } + else { + source.setHidden(false); + } mySession.process(event);