fix breakpoint display in source windows

This commit is contained in:
Tom Tromey
2015-05-10 10:53:01 -06:00
parent 1bec4626eb
commit ffd6d83a03

View File

@@ -43,14 +43,11 @@ class BufferManager:
@in_gtk_thread
def _set_marks(self, buffer, line_set):
buffer.all_marks = {}
iter = buffer.get_iter_at_line(0)
while True:
line = iter.get_line() + 1
if line in line_set:
buffer.all_marks[line] = buffer.create_source_mark(None,
'executable',
iter)
buffer.create_source_mark(None, 'executable', iter)
if not iter.forward_line():
break
@@ -106,16 +103,14 @@ class BufferManager:
[fullname, line] = sal
if fullname in self.buffers:
buffer = self.buffers[fullname]
if line in buffer.all_marks:
if buffer.all_marks[line].category is not category:
iter = buffer.get_iter_at_line(line - 1)
buffer.all_marks[line] = buffer.create_source_mark(None,
category,
iter)
iter = buffer.get_iter_at_line(line - 1)
buffer.remove_source_marks(iter, iter)
buffer.create_source_mark(None, category, iter)
@in_gdb_thread
def _location_changed(self, loc, is_set):
gui.startup.send_to_gtk(self.update_breakpoint_location)
gui.startup.send_to_gtk(lambda: self.update_breakpoint_location(loc,
is_set))
buffer_manager = BufferManager()