WI-23626 Breakpoint muting does not disable after run. Regression from 7.1.3 to EAP 8.

This commit is contained in:
Egor.Ushakov
2014-06-06 15:59:50 +04:00
parent ffcf607799
commit 539f90a09d
12 changed files with 80 additions and 68 deletions
@@ -16,7 +16,6 @@
package com.intellij.debugger.engine;
import com.intellij.debugger.DebuggerBundle;
import com.intellij.debugger.DebuggerInvocationUtil;
import com.intellij.debugger.actions.DebuggerActions;
import com.intellij.debugger.engine.evaluation.EvaluationContext;
import com.intellij.debugger.engine.evaluation.EvaluationContextImpl;
@@ -41,7 +40,6 @@ import com.intellij.execution.ui.layout.PlaceInGrid;
import com.intellij.icons.AllIcons;
import com.intellij.idea.ActionsBundle;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.extensions.Extensions;
import com.intellij.openapi.fileEditor.FileDocumentManager;
@@ -171,18 +169,6 @@ public class JavaDebugProcess extends XDebugProcess {
DebuggerContextUtil.setStackFrame(javaSession.getContextManager(), ((JavaStackFrame)frame).getStackFrameProxy());
}
}
@Override
public void sessionStopped() {
if (DebuggerSettings.getInstance().UNMUTE_ON_STOP) {
ApplicationManager.getApplication().runReadAction(new Runnable() {
@Override
public void run() {
session.setBreakpointMuted(false);
}
});
}
}
});
}
@@ -336,7 +322,6 @@ public class JavaDebugProcess extends XDebugProcess {
};
settings.add(new WatchLastMethodReturnValueAction());
settings.add(new AutoVarsSwitchAction());
settings.add(new UnmuteOnStopAction());
settings.addSeparator();
addActionToGroup(settings, XDebuggerActions.AUTO_TOOLTIP);
@@ -1,44 +0,0 @@
/*
* Copyright 2000-2014 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.debugger.engine;
import com.intellij.debugger.DebuggerBundle;
import com.intellij.debugger.settings.DebuggerSettings;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.ToggleAction;
/**
* @author egor
*/
class UnmuteOnStopAction extends ToggleAction {
private volatile boolean myUnmuteOnStop;
UnmuteOnStopAction() {
super(DebuggerBundle.message("action.unmute.on.stop.text"), DebuggerBundle.message("action.unmute.on.stop.text"), null);
myUnmuteOnStop = DebuggerSettings.getInstance().UNMUTE_ON_STOP;
}
@Override
public boolean isSelected(AnActionEvent e) {
return myUnmuteOnStop;
}
@Override
public void setSelected(AnActionEvent e, boolean state) {
myUnmuteOnStop = state;
DebuggerSettings.getInstance().UNMUTE_ON_STOP = state;
}
}
@@ -69,7 +69,6 @@ public class DebuggerSettings implements JDOMExternalizable, NamedComponent, Clo
public volatile boolean WATCH_RETURN_VALUES = false;
public volatile boolean AUTO_VARIABLES_MODE = false;
public volatile boolean SHOW_LIBRARY_STACKFRAMES = true;
public volatile boolean UNMUTE_ON_STOP = false;
private ClassFilter[] mySteppingFilters = ClassFilter.EMPTY_ARRAY;
@@ -324,7 +324,6 @@ public class DebuggerSessionTab extends DebuggerSessionTabBase implements Dispos
}
settings.add(new WatchLastMethodReturnValueAction());
settings.add(new AutoVarsSwitchAction());
settings.add(new UnmuteOnStopAction());
settings.addSeparator();
addActionToGroup(settings, XDebuggerActions.AUTO_TOOLTIP);
@@ -597,24 +596,4 @@ public class DebuggerSessionTab extends DebuggerSessionTabBase implements Dispos
}
}
}
private class UnmuteOnStopAction extends ToggleAction {
private volatile boolean myUnmuteOnStop;
private UnmuteOnStopAction() {
super(DebuggerBundle.message("action.unmute.on.stop.text"), DebuggerBundle.message("action.unmute.on.stop.text"), null);
myUnmuteOnStop = DebuggerSettings.getInstance().UNMUTE_ON_STOP;
}
@Override
public boolean isSelected(AnActionEvent e) {
return myUnmuteOnStop;
}
@Override
public void setSelected(AnActionEvent e, boolean state) {
myUnmuteOnStop = state;
DebuggerSettings.getInstance().UNMUTE_ON_STOP = state;
}
}
}