IDEA-61548: Toggling line breakpoint by clicking on a gutter doesn't work before debugger has been touched

This commit is contained in:
nik
2010-11-23 10:18:23 +03:00
parent 4e8ef8497b
commit 6efe06b2fd
3 changed files with 32 additions and 5 deletions
@@ -1,4 +1,11 @@
<root>
<project-components>
<component>
<interface-class>com.intellij.xdebugger.XDebuggerManager</interface-class>
<implementation-class>com.intellij.xdebugger.impl.XDebuggerManagerImpl</implementation-class>
</component>
</project-components>
<extensionPoints>
<extensionPoint name="xdebugger.settings" interface="com.intellij.xdebugger.settings.XDebuggerSettings"/>
<extensionPoint name="xdebugger.breakpointType" interface="com.intellij.xdebugger.breakpoints.XBreakpointType"/>
@@ -14,9 +21,6 @@
<applicationService serviceInterface="com.intellij.xdebugger.XDebuggerUtil"
serviceImplementation="com.intellij.xdebugger.impl.XDebuggerUtilImpl"/>
<projectService serviceInterface="com.intellij.xdebugger.XDebuggerManager"
serviceImplementation="com.intellij.xdebugger.impl.XDebuggerManagerImpl"/>
<projectService serviceImplementation="com.intellij.xdebugger.impl.evaluate.quick.common.ValueLookupManager"/>
<projectService serviceInterface="com.intellij.xdebugger.impl.breakpoints.ui.BreakpointsConfigurationDialogFactory"
@@ -35,7 +35,7 @@ import java.util.Collection;
public abstract class XDebuggerManager {
public static XDebuggerManager getInstance(@NotNull Project project) {
return ServiceManager.getService(project, XDebuggerManager.class);
return project.getComponent(XDebuggerManager.class);
}
@NotNull
@@ -27,6 +27,7 @@ import com.intellij.execution.ui.RunContentDescriptor;
import com.intellij.execution.ui.RunContentManagerImpl;
import com.intellij.execution.ui.RunContentWithExecutorListener;
import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.components.ProjectComponent;
import com.intellij.openapi.components.State;
import com.intellij.openapi.components.Storage;
import com.intellij.openapi.fileEditor.FileEditorManager;
@@ -59,7 +60,7 @@ import java.util.*;
storages = {@Storage(
id = "other",
file = "$WORKSPACE_FILE$")})
public class XDebuggerManagerImpl extends XDebuggerManager implements PersistentStateComponent<XDebuggerManagerImpl.XDebuggerState> {
public class XDebuggerManagerImpl extends XDebuggerManager implements ProjectComponent, PersistentStateComponent<XDebuggerManagerImpl.XDebuggerState> {
@NonNls public static final String COMPONENT_NAME = "XDebuggerManager";
private final Project myProject;
private final XBreakpointManagerImpl myBreakpointManager;
@@ -112,6 +113,28 @@ public class XDebuggerManagerImpl extends XDebuggerManager implements Persistent
return myProject;
}
@Override
public void projectOpened() {
}
@Override
public void projectClosed() {
}
@NotNull
@Override
public String getComponentName() {
return COMPONENT_NAME;
}
@Override
public void initComponent() {
}
@Override
public void disposeComponent() {
}
@NotNull
public XDebugSession startSession(@NotNull final ProgramRunner runner,
@NotNull final ExecutionEnvironment env,