diff --git a/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java b/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java index 5ac031be579c..cd86d79f50e0 100644 --- a/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java +++ b/platform/lang-impl/src/com/intellij/ui/DeferredIconImpl.java @@ -24,6 +24,7 @@ import com.intellij.concurrency.JobUtil; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.IndexNotReadyException; import com.intellij.openapi.util.Ref; +import com.intellij.openapi.util.registry.Registry; import com.intellij.util.Alarm; import com.intellij.util.Function; import com.intellij.util.ui.EmptyIcon; @@ -110,7 +111,7 @@ public class DeferredIconImpl implements DeferredIcon { int oldWidth = myDelegateIcon.getIconWidth(); myDelegateIcon = evaluate(); - final boolean shouldRevalidate = myDelegateIcon.getIconWidth() != oldWidth; + final boolean shouldRevalidate = Registry.is("ide.tree.deferredicon.invalidates.cache") && myDelegateIcon.getIconWidth() != oldWidth; //noinspection SSBasedInspection SwingUtilities.invokeLater(new Runnable() { diff --git a/platform/platform-resources-en/src/misc/registry.properties b/platform/platform-resources-en/src/misc/registry.properties index 23ec4bb6653f..a0af20c3f42e 100644 --- a/platform/platform-resources-en/src/misc/registry.properties +++ b/platform/platform-resources-en/src/misc/registry.properties @@ -63,6 +63,7 @@ ide.tree.autoExpandMaxDepth=5 ide.tree.expandRecursionDepth=50 ide.tree.checkStructure=false ide.tree.uiLockAttempt=250 +ide.tree.deferredicon.invalidates.cache=true ide.splitter.mouseZone=6 ide.smart.horizontal.scrolling=true