From ccc32a8867e0eb156c7c8de2b14c086913e3ff55 Mon Sep 17 00:00:00 2001 From: Ignacio Perez Date: Sun, 4 Jan 2026 16:31:34 -0300 Subject: [PATCH] fix: Fix panic when select priority --- src/view/task_detail_modal/mod.rs | 40 ++++++++++++++++++------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/src/view/task_detail_modal/mod.rs b/src/view/task_detail_modal/mod.rs index 1612145..4dcc9c7 100644 --- a/src/view/task_detail_modal/mod.rs +++ b/src/view/task_detail_modal/mod.rs @@ -262,14 +262,17 @@ impl TaskDetailModal { Dropdown::new("task-edit-status") .items(status_items) .on_select(Arc::new(move |index, _item, cx| { - cx.update_entity(&modal_entity, |modal, cx| { - modal.state.form.status = match index { - 0 => task::TaskStatus::Pending, - 1 => task::TaskStatus::Completed, - 2 => task::TaskStatus::Deleted, - _ => task::TaskStatus::Pending, - }; - cx.notify(); + let modal_entity = modal_entity.clone(); + cx.defer(move |cx| { + let _ = modal_entity.update(cx, |modal, cx| { + modal.state.form.status = match index { + 0 => task::TaskStatus::Pending, + 1 => task::TaskStatus::Completed, + 2 => task::TaskStatus::Deleted, + _ => task::TaskStatus::Pending, + }; + cx.notify(); + }); }); })) }) @@ -287,15 +290,18 @@ impl TaskDetailModal { Dropdown::new("task-edit-priority") .items(priority_items) .on_select(Arc::new(move |index, _item, cx| { - cx.update_entity(&modal_entity, |modal, cx| { - modal.state.form.priority = match index { - 0 => task::TaskPriority::High, - 1 => task::TaskPriority::Medium, - 2 => task::TaskPriority::Low, - 3 => task::TaskPriority::None, - _ => task::TaskPriority::None, - }; - cx.notify(); + let modal_entity = modal_entity.clone(); + cx.defer(move |cx| { + let _ = modal_entity.update(cx, |modal, cx| { + modal.state.form.priority = match index { + 0 => task::TaskPriority::High, + 1 => task::TaskPriority::Medium, + 2 => task::TaskPriority::Low, + 3 => task::TaskPriority::None, + _ => task::TaskPriority::None, + }; + cx.notify(); + }); }); })) })