From e2b51b319e183c9ed1e23c8550790cc786437e9d Mon Sep 17 00:00:00 2001 From: Mattias Forsberg Date: Thu, 15 Feb 2024 11:50:03 +0100 Subject: [PATCH 1/2] Remove unwrap on line option, preventing DAP crash, ref #4683 --- helix-view/src/handlers/dap.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helix-view/src/handlers/dap.rs b/helix-view/src/handlers/dap.rs index e1437bef7530..f23c46ee612d 100644 --- a/helix-view/src/handlers/dap.rs +++ b/helix-view/src/handlers/dap.rs @@ -228,7 +228,7 @@ impl Editor { breakpoints[i].verified = breakpoint.verified; breakpoints[i].message = breakpoint.message.clone(); breakpoints[i].line = - breakpoint.line.unwrap().saturating_sub(1); // TODO: no unwrap + breakpoint.line.map_or(0, |line| line.saturating_sub(1)); breakpoints[i].column = breakpoint.column; } } From 3813bc58b6e3393bec7f33d265b17a310f869dfc Mon Sep 17 00:00:00 2001 From: Mattias Forsberg Date: Fri, 16 Feb 2024 09:29:31 +0100 Subject: [PATCH 2/2] Update to fall back to existing values for option fields --- helix-view/src/handlers/dap.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/helix-view/src/handlers/dap.rs b/helix-view/src/handlers/dap.rs index f23c46ee612d..a5fa0c29c008 100644 --- a/helix-view/src/handlers/dap.rs +++ b/helix-view/src/handlers/dap.rs @@ -226,10 +226,15 @@ impl Editor { breakpoints.iter().position(|b| b.id == breakpoint.id) { breakpoints[i].verified = breakpoint.verified; - breakpoints[i].message = breakpoint.message.clone(); - breakpoints[i].line = - breakpoint.line.map_or(0, |line| line.saturating_sub(1)); - breakpoints[i].column = breakpoint.column; + breakpoints[i].message = breakpoint + .message + .clone() + .or_else(|| breakpoints[i].message.take()); + breakpoints[i].line = breakpoint + .line + .map_or(breakpoints[i].line, |line| line.saturating_sub(1)); + breakpoints[i].column = + breakpoint.column.or(breakpoints[i].column); } } }