IDEA-141126 Image/icon renderers may hang the debugger - added registry to turn off...
authorEgor.Ushakov <egor.ushakov@jetbrains.com>
Fri, 5 Jun 2015 11:55:30 +0000 (14:55 +0300)
committerEgor.Ushakov <egor.ushakov@jetbrains.com>
Fri, 5 Jun 2015 11:56:15 +0000 (14:56 +0300)
java/debugger/impl/src/com/intellij/debugger/ui/tree/render/IconObjectRenderer.java
platform/util/resources/misc/registry.properties

index 085c5cfd363db70b8d89fdc486e73d06f9227782..51cb8b3c0fe7c7c24adfab7d88546df2b9c9bf89 100644 (file)
@@ -25,6 +25,7 @@ import com.intellij.debugger.settings.NodeRendererSettings;
 import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl;
 import com.intellij.debugger.ui.tree.ValueDescriptor;
 import com.intellij.icons.AllIcons;
+import com.intellij.openapi.util.registry.Registry;
 import com.intellij.xdebugger.frame.XFullValueEvaluator;
 import org.jetbrains.annotations.Nullable;
 
@@ -44,7 +45,7 @@ class IconObjectRenderer extends ToStringBasedRenderer implements FullValueEvalu
   public Icon calcValueIcon(ValueDescriptor descriptor, EvaluationContext evaluationContext, DescriptorLabelListener listener)
     throws EvaluateException {
     String getterName = AllIcons.Debugger.Value.getIconHeight() <= 16 ? "iconToBytesPreviewNormal" : "iconToBytesPreviewRetina";
-    if (DebuggerUtilsImpl.isRemote(evaluationContext.getDebugProcess())) {
+    if (!Registry.is("debugger.auto.fetch.icons") || DebuggerUtilsImpl.isRemote(evaluationContext.getDebugProcess())) {
       return null; // do not auto load icon for remote
     }
     else {
index 65972a6b0dd2da1da335ed2670473628a65e0865..232de98fba039cf3fd3a9db7de64fb3e6ce504a6 100644 (file)
@@ -184,6 +184,7 @@ debugger.breakpoint.message.full.trace.description='Log message to console' brea
 debugger.batch.evaluation=false
 debugger.compiling.evaluator=true
 debugger.watches.in.variables=false
+debugger.auto.fetch.icons=true
 
 analyze.exceptions.on.the.fly=false
 analyze.exceptions.on.the.fly.description=Automatically analyze clipboard on frame activation,\