diff --git a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/grouping/XBreakpointTypeGroup.java b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/grouping/XBreakpointTypeGroup.java index d00e27418edc..dda28f66bcdf 100644 --- a/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/grouping/XBreakpointTypeGroup.java +++ b/platform/xdebugger-impl/src/com/intellij/xdebugger/impl/breakpoints/ui/grouping/XBreakpointTypeGroup.java @@ -17,6 +17,8 @@ package com.intellij.xdebugger.impl.breakpoints.ui.grouping; import com.intellij.util.ArrayUtil; import com.intellij.xdebugger.breakpoints.XBreakpointType; +import com.intellij.xdebugger.breakpoints.XLineBreakpoint; +import com.intellij.xdebugger.breakpoints.XLineBreakpointType; import com.intellij.xdebugger.breakpoints.ui.XBreakpointGroup; import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil; import org.jetbrains.annotations.NotNull; @@ -49,6 +51,16 @@ public class XBreakpointTypeGroup extends XBreakpointGroup { @Override public int compareTo(XBreakpointGroup o) { if (o instanceof XBreakpointTypeGroup) { + if (((XBreakpointTypeGroup)o).myBreakpointType instanceof XLineBreakpointType) { + if (myBreakpointType instanceof XLineBreakpointType) { + return ((XLineBreakpointType)((XBreakpointTypeGroup)o).myBreakpointType).getPriority() - ((XLineBreakpointType)myBreakpointType).getPriority(); + } + // line breakpoints should be on top + return 1; + } + else if (myBreakpointType instanceof XLineBreakpointType) { + return -1; + } return indexOfType(myBreakpointType) - indexOfType(((XBreakpointTypeGroup)o).getBreakpointType()); } return -o.compareTo(this);