@@ -452,9 +452,19 @@ impl EditorView {
452 if let Some(path) = doc.path() {
452 if let Some(path) = doc.path() {
453 breakpoints = debugger.breakpoints.get(path);
453 breakpoints = debugger.breakpoints.get(path);
455+ // if we have a frame, and the frame path matches document
455 if let (Some(frame), Some(thread_id)) = (debugger.active_frame, debugger.thread_id)
456 if let (Some(frame), Some(thread_id)) = (debugger.active_frame, debugger.thread_id)
457− stack_frame = debugger.stack_frames[&thread_id].get(frame); // TODO: drop the clone..
458+ let frame = debugger.stack_frames[&thread_id].get(frame); // TODO: drop the clone..
459+ if let Some(StackFrame {
460+ source: Some(source),
464+ if source.path.as_ref() == Some(path) {
465+ stack_frame = frame;
@@ -493,19 +503,12 @@ impl EditorView {
495 if let Some(frame) = stack_frame {
505 if let Some(frame) = stack_frame {
496− if let Some(src) = &frame.source {
499− .map(|path| src.path.as_ref() == Some(path))
501− && frame.line - 1 == line
506+ if frame.line - 1 == line {
503− surface.set_style(
507+ surface.set_style(
504− Rect::new(viewport.x, viewport.y + i as u16, 6, 1),
508+ Rect::new(viewport.x, viewport.y + i as u16, 6, 1),
505− helix_view::graphics::Style::default()
509+ helix_view::graphics::Style::default()
506− .bg(helix_view::graphics::Color::LightYellow),
510+ .bg(helix_view::graphics::Color::LightYellow),