From 05f6c60dd80290105fd32ff3d7e767326c6bdf2e Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Fri, 27 Feb 2015 20:38:58 +0300 Subject: [PATCH] do not auto load icons in remote debug --- .../src/com/intellij/debugger/impl/DebuggerUtilsImpl.java | 8 +++++++- .../intellij/debugger/settings/IconObjectRenderer.java | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java index c38dc234595b..96ec31727eaf 100644 --- a/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/impl/DebuggerUtilsImpl.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2015 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ package com.intellij.debugger.impl; import com.intellij.debugger.actions.DebuggerAction; import com.intellij.debugger.apiAdapters.TransportServiceWrapper; +import com.intellij.debugger.engine.DebugProcess; import com.intellij.debugger.engine.DebugProcessImpl; import com.intellij.debugger.engine.StackFrameContext; import com.intellij.debugger.engine.evaluation.*; @@ -26,6 +27,7 @@ import com.intellij.debugger.ui.CompletionEditor; import com.intellij.debugger.ui.DebuggerExpressionComboBox; import com.intellij.debugger.ui.impl.watch.DebuggerTreeNodeExpression; import com.intellij.debugger.ui.tree.DebuggerTreeNode; +import com.intellij.debugger.ui.tree.render.BatchEvaluator; import com.intellij.execution.ExecutionException; import com.intellij.ide.util.TreeClassChooser; import com.intellij.ide.util.TreeClassChooserFactory; @@ -162,4 +164,8 @@ public class DebuggerUtilsImpl extends DebuggerUtilsEx{ } } } + + public static boolean isRemote(DebugProcess debugProcess) { + return Boolean.TRUE.equals(debugProcess.getUserData(BatchEvaluator.REMOTE_SESSION_KEY)); + } } \ No newline at end of file diff --git a/java/debugger/impl/src/com/intellij/debugger/settings/IconObjectRenderer.java b/java/debugger/impl/src/com/intellij/debugger/settings/IconObjectRenderer.java index c6a8d116ed68..2850a85c2f6e 100644 --- a/java/debugger/impl/src/com/intellij/debugger/settings/IconObjectRenderer.java +++ b/java/debugger/impl/src/com/intellij/debugger/settings/IconObjectRenderer.java @@ -20,6 +20,7 @@ import com.intellij.debugger.engine.FullValueEvaluatorProvider; import com.intellij.debugger.engine.evaluation.EvaluateException; import com.intellij.debugger.engine.evaluation.EvaluationContext; import com.intellij.debugger.engine.evaluation.EvaluationContextImpl; +import com.intellij.debugger.impl.DebuggerUtilsImpl; import com.intellij.debugger.ui.impl.watch.ValueDescriptorImpl; import com.intellij.debugger.ui.tree.ValueDescriptor; import com.intellij.debugger.ui.tree.render.DescriptorLabelListener; @@ -43,7 +44,12 @@ 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"; - return ImageObjectRenderer.getIcon(evaluationContext, descriptor.getValue(), getterName); + if (DebuggerUtilsImpl.isRemote(evaluationContext.getDebugProcess())) { + return null; // do not auto load icon for remote + } + else { + return ImageObjectRenderer.getIcon(evaluationContext, descriptor.getValue(), getterName); + } } @Nullable