Merge pull request #1596 from zed-industries/move-pane-panic-fix

K Simmons created

Don't panic if a tab isn't present in a from tab when dragged

Change summary

crates/workspace/src/pane.rs | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)

Detailed changes

crates/workspace/src/pane.rs 🔗

@@ -910,13 +910,18 @@ impl Pane {
         destination_index: usize,
         cx: &mut ViewContext<Workspace>,
     ) {
-        let (item_ix, item_handle) = from
+        let item_to_move = from
             .read(cx)
             .items()
             .enumerate()
-            .find(|(_, item_handle)| item_handle.id() == item_to_move)
-            .expect("Tried to move item handle which was not in from pane");
+            .find(|(_, item_handle)| item_handle.id() == item_to_move);
 
+        if item_to_move.is_none() {
+            log::warn!("Tried to move item handle which was not in `from` pane. Maybe tab was closed during drop");
+            return;
+        }
+
+        let (item_ix, item_handle) = item_to_move.unwrap();
         // This automatically removes duplicate items in the pane
         Pane::add_item(
             workspace,