Skip to content

Commit b15e29b

Browse files
committed
Fix crashes on empty breakpoint list
Closes gh-723
1 parent cd6c46d commit b15e29b

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

pudb/debugger.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1540,6 +1540,8 @@ def handle_delete_breakpoint(w, size, key):
15401540
pos = self.bp_list._w.focus_position
15411541
bp = bp_list[pos]
15421542
delete_breakpoint(bp)
1543+
else:
1544+
self.message("Cannot delete, no breakpoint set.")
15431545

15441546
def delete_breakpoint(bp):
15451547
err = self.debugger.clear_break(bp.file, bp.line)
@@ -1551,21 +1553,23 @@ def delete_breakpoint(bp):
15511553
set_breakpoint_source(bp)
15521554

15531555
def enable_disable_breakpoint(w, size, key):
1554-
pos = self.bp_list._w.focus_position
15551556
bp_entry = self.bp_list._w.focus
15561557
if bp_entry is None:
1558+
self.message("Cannot enable/disable, no breakpoint set.")
15571559
return
1560+
pos = self.bp_list._w.focus_position
15581561
bp = self._get_bp_list()[pos]
15591562
bp.enabled = not bp.enabled
15601563
self.update_breakpoints()
15611564
set_breakpoint_source(bp)
15621565

15631566
def examine_breakpoint(w, size, key):
1564-
pos = self.bp_list._w.focus_position
15651567
bp_entry = self.bp_list._w.focus
15661568

15671569
if bp_entry is None:
1570+
self.message("Cannot examine, no breakpoint set.")
15681571
return
1572+
pos = self.bp_list._w.focus_position
15691573

15701574
bp = self._get_bp_list()[pos]
15711575

@@ -1620,14 +1624,15 @@ def examine_breakpoint(w, size, key):
16201624
set_breakpoint_source(bp)
16211625

16221626
def show_breakpoint(w, size, key):
1623-
pos = self.bp_list._w.focus_position
16241627
bp_entry = self.bp_list._w.focus
1625-
16261628
if bp_entry is not None:
1629+
pos = self.bp_list._w.focus_position
16271630
bp = self._get_bp_list()[pos]
16281631
self.show_line(bp.line,
16291632
FileSourceCodeProvider(self.debugger, bp.file))
16301633
self.columns.focus_position = 0
1634+
else:
1635+
self.message("Cannot show breakpoint location, no breakpoint set.")
16311636

16321637
self.bp_list.listen("enter", show_breakpoint)
16331638
self.bp_list.listen("d", handle_delete_breakpoint)

0 commit comments

Comments
 (0)