diff --git a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java index 0f185c92639d..83feb8f097b1 100644 --- a/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java +++ b/platform/lang-impl/src/com/intellij/execution/ui/layout/impl/JBRunnerTabs.java @@ -21,6 +21,7 @@ import com.intellij.openapi.actionSystem.ActionManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.ui.Gray; +import com.intellij.ui.awt.RelativePoint; import com.intellij.ui.tabs.TabInfo; import com.intellij.ui.tabs.TabsUtil; import com.intellij.ui.tabs.UiDecorator; @@ -35,6 +36,7 @@ import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.*; import java.util.List; +import java.util.Map; /** * @author Dennis.Ushakov @@ -217,6 +219,19 @@ public class return super.layout(c, bounds); } + @Override + public void processDropOver(TabInfo over, RelativePoint relativePoint) { + super.processDropOver(over, relativePoint); + final Point point = relativePoint.getPoint(getComponent()); + for (Map.Entry entry : myInfo2Label.entrySet()) { + final TabLabel label = entry.getValue(); + if (label.getBounds().contains(point) && myDropInfo != entry.getKey()) { + select(entry.getKey(), false); + break; + } + } + } + @Override protected TabLabel createTabLabel(TabInfo info) { return new MyTabLabel(this, info); diff --git a/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java b/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java index 7439c6729ed7..eab721b1b562 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/impl/JBTabsImpl.java @@ -163,7 +163,7 @@ public class JBTabsImpl extends JComponent private boolean myOwnSwitchProvider = true; private SwitchProvider mySwitchDelegate; - private TabInfo myDropInfo; + protected TabInfo myDropInfo; private int myDropInfoIndex; private TabInfo myOldSelection;