diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java index c29a13956932..7b1a79c91fee 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/table/VcsLogGraphTable.java @@ -153,6 +153,8 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, public void updateDataPack(@NotNull VisiblePack visiblePack, boolean permGraphChanged) { VcsLogGraphTable.Selection previousSelection = getSelection(); + boolean filtersChanged = !getModel().getVisiblePack().getFilters().equals(visiblePack.getFilters()); + getModel().setVisiblePack(visiblePack); previousSelection.restore(visiblePack.getVisibleGraph(), true, permGraphChanged); for (VcsLogHighlighter highlighter : myHighlighters) { @@ -160,12 +162,11 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, } setPaintBusy(false); - doLayout(); + reLayout(filtersChanged); } - @Override - public void doLayout() { - if (!myColumnsSizeInitialized) { + public void reLayout(boolean recalculatePreferredSize) { + if (!myColumnsSizeInitialized || recalculatePreferredSize) { myColumnsSizeInitialized = initFixedColumnsPreferredSize(); } updateCommitColumnWidth(); @@ -173,6 +174,11 @@ public class VcsLogGraphTable extends TableWithProgress implements DataProvider, super.doLayout(); } + @Override + public void doLayout() { + reLayout(false); + } + private boolean initFixedColumnsPreferredSize() { Font tableFont = getTableFont(); diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/util/VcsLogUiUtil.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/util/VcsLogUiUtil.java index a4ab650c90f2..069148200a86 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/util/VcsLogUiUtil.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/util/VcsLogUiUtil.java @@ -68,7 +68,7 @@ public class VcsLogUiUtil { @NotNull VcsLogData logData, @NotNull Disposable disposableParent) { Runnable miniDetailsLoadedListener = () -> { - graphTable.doLayout(); + graphTable.reLayout(false); graphTable.repaint(); }; Runnable containingBranchesListener = () -> {