allow breakpoint deletion from source window

This commit is contained in:
Tom Tromey
2015-05-16 13:18:34 -06:00
parent 9bc0efd258
commit 63baaf9c82
2 changed files with 12 additions and 2 deletions

View File

@@ -50,6 +50,12 @@ def _breakpoint_deleted(bp):
if len(_breakpoint_source_map[entry]) == 0: if len(_breakpoint_source_map[entry]) == 0:
gui.events.location_changed.post(entry, False) gui.events.location_changed.post(entry, False)
def any_breakpoint_at(filename, lineno):
entry = (filename, lineno)
if entry not in _breakpoint_source_map:
return False
return len(_breakpoint_source_map[entry]) > 0
if not hasattr(gdb.events, 'breakpoint_created'): if not hasattr(gdb.events, 'breakpoint_created'):
gui.adapt.notify_bug(15620) gui.adapt.notify_bug(15620)
else: else:

View File

@@ -313,8 +313,12 @@ class SourceWindow(gui.updatewindow.UpdateWindow):
return return
if event.button.get_button()[1] != 1: if event.button.get_button()[1] != 1:
return return
fun = Invoker("break %s:%d" % (self.view.get_buffer().filename, filename = self.view.get_buffer().filename
textiter.get_line() + 1)) line = textiter.get_line() + 1
if gui.bpcache.any_breakpoint_at(filename, line):
fun = Invoker("clear %s:%d" % (filename,line))
else:
fun = Invoker("break %s:%d" % (filename, line))
fun() fun()
def _do_scroll(self, buff, srcline): def _do_scroll(self, buff, srcline):