Browse Source

Fix SD-1782 - Interaction between bookmarks and breakpoints

pull/14/head
Eusebiu Marcu 15 years ago
parent
commit
73b5a6660a
  1. 6
      src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs
  2. 3
      src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs
  3. 3
      src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs

6
src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs

@ -107,10 +107,12 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -107,10 +107,12 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
public static void ToggleBookmark(ITextEditor editor, int line,
Predicate<SDBookmark> canToggle,
Func<Location, SDBookmark> bookmarkFactory)
Func<Location, SDBookmark> 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;
}

3
src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs

@ -42,7 +42,8 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -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));
}
}

3
src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs

@ -227,7 +227,8 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -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

Loading…
Cancel
Save