diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java index 52b20cedad9e..a357b81da38b 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/XDebuggerUtilImpl.java @@ -156,7 +156,7 @@ public class XDebuggerUtilImpl extends XDebuggerUtil { final XBreakpointManager breakpointManager = XDebuggerManager.getInstance(project).getBreakpointManager(); XLineBreakpoint

breakpoint = breakpointManager.findBreakpointAtLine(type, file, line); if (breakpoint != null) { - if (!Registry.is("debugger.click.disable.breakpoints")) { + if (!temporary && !Registry.is("debugger.click.disable.breakpoints")) { breakpointManager.removeBreakpoint(breakpoint); } } diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointUtil.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointUtil.java index 8cfbcfffb794..3b6c42086a6c 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointUtil.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/XBreakpointUtil.java @@ -151,15 +151,11 @@ public class XBreakpointUtil { int maxPriority = 0; for (XLineBreakpointType type : lineTypes) { maxPriority = Math.max(maxPriority, type.getPriority()); - final XLineBreakpoint breakpoint = breakpointManager.findBreakpointAtLine(type, file, line); - if (breakpoint != null && temporary && !breakpoint.isTemporary()) { - breakpoint.setTemporary(true); - } - else if (type.canPutAt(file, line, project) || breakpoint != null) { - if (typeWinner == null || type.getPriority() > typeWinner.getPriority()) { - typeWinner = type; - lineWinner = line; - } + XLineBreakpoint breakpoint = breakpointManager.findBreakpointAtLine(type, file, line); + if ((type.canPutAt(file, line, project) || breakpoint != null) && + (typeWinner == null || type.getPriority() > typeWinner.getPriority())) { + typeWinner = type; + lineWinner = line; } } // already found max priority type - stop