diff --git a/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java b/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java index 884025bcb5e8..84c14dd7fdbd 100644 --- a/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java +++ b/platform/platform-api/src/com/intellij/ui/tabs/impl/TabLabel.java @@ -294,7 +294,12 @@ public class TabLabel extends JPanel { private void invalidateIfNeeded() { if (myLabel.getRootPane() == null) return; - if (myLabel.getSize() != null && myLabel.getSize().equals(myLabel.getPreferredSize())) return; + Dimension d = myLabel.getSize(); + Dimension pref = myLabel.getPreferredSize(); + if (d != null && (d.width >= pref.width && d.height >= pref.height)) { + // do not need to invalidate if size is more than preferred size + return; + } setInactiveStateImage(null); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java index dbd61bbdef3f..51addedb240b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/EditorsSplitters.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.fileEditor.impl; +import com.intellij.ide.ui.UISettings; import com.intellij.openapi.actionSystem.KeyboardShortcut; import com.intellij.openapi.actionSystem.Shortcut; import com.intellij.openapi.application.ModalityState; @@ -326,8 +327,13 @@ public class EditorsSplitters extends JPanel { window = findWindowWith(panel); } //noinspection unchecked - final List children = leaf.getChildren("file"); + final List children = new ArrayList(leaf.getChildren("file")); VirtualFile currentFile = null; + + if (UISettings.getInstance().ACTIVATE_RIGHT_EDITOR_ON_CLOSE) { + Collections.reverse(children); + } + for (final Element file : children) { try { final HistoryEntry entry = new HistoryEntry(getManager().getProject(), file.getChild(HistoryEntry.TAG));