Don't panic when ending transaction that wasn't started by the same editor

Antonio Scandurra and Nathan Sobo created

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Change summary

crates/editor/src/editor.rs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

Detailed changes

crates/editor/src/editor.rs 🔗

@@ -3527,7 +3527,11 @@ impl Editor {
             .buffer
             .update(cx, |buffer, cx| buffer.end_transaction_at(now, cx))
         {
-            self.selection_history.get_mut(&tx_id).unwrap().1 = Some(self.selections.clone());
+            if let Some((_, end_selections)) = self.selection_history.get_mut(&tx_id) {
+                *end_selections = Some(self.selections.clone());
+            } else {
+                log::error!("unexpectedly ended a transaction that wasn't started by this editor");
+            }
         }
     }