diff --git a/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs b/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs index 9f5321d68c..074dfcdcc5 100644 --- a/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs +++ b/src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs @@ -107,10 +107,12 @@ namespace ICSharpCode.SharpDevelop.Bookmarks public static void ToggleBookmark(ITextEditor editor, int line, Predicate canToggle, - Func bookmarkFactory) + Func bookmarkFactory, + Type bookmarkType) { foreach (SDBookmark bookmark in GetBookmarks(new FileName(editor.FileName))) { - if (canToggle(bookmark) && bookmark.LineNumber == line) { + if (canToggle(bookmark) && bookmark.LineNumber == line && + bookmark.GetType().UnderlyingSystemType == bookmarkType) { BookmarkManager.RemoveMark(bookmark); return; } diff --git a/src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs b/src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs index 5569f0d7bd..0030e2ff88 100644 --- a/src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs +++ b/src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs @@ -42,7 +42,8 @@ namespace ICSharpCode.SharpDevelop.Bookmarks { BookmarkManager.ToggleBookmark(editor, editor.Caret.Line, b => b.CanToggle, - location => new SDBookmark(editor.FileName, location)); + location => new SDBookmark(editor.FileName, location), + typeof(SDBookmark)); } } diff --git a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs index 168c3f751c..e67ebec0a3 100644 --- a/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs +++ b/src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs @@ -227,7 +227,8 @@ namespace ICSharpCode.SharpDevelop.Debugging BookmarkManager.ToggleBookmark( editor, lineNumber, b => b.CanToggle && b is BreakpointBookmark, - location => new BreakpointBookmark(editor.FileName, location, BreakpointAction.Break, "", "")); + location => new BreakpointBookmark(editor.FileName, location, BreakpointAction.Break, "", ""), + typeof(BreakpointBookmark)); } /* TODO: reimplement this stuff