From 43e5b58a08950b0d709c69c25daf7c5bc3e719b2 Mon Sep 17 00:00:00 2001 From: "Egor.Ushakov" Date: Wed, 5 Mar 2014 16:32:42 +0400 Subject: [PATCH] IDEA-121589 Breakpoints dialog: breakpoint categories should be present in a fixed order --- .../ui/grouping/XBreakpointTypeGroup.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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);