regression: Fix a panic when removing git-containing worktree from the project panel (#15256)

Follow-up of #14989

Opening a project with git metadata and clicking "Remove from Project" will panic:
![image](https://github.com/user-attachments/assets/ba00dc55-d299-4edc-9a1f-01e92f0dd9ca)

Release Notes:

- N/A
This commit is contained in:
CharlesChen0823 2024-07-26 19:20:59 +08:00 committed by GitHub
parent 18daf17d0e
commit 7aa6f4788d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -96,7 +96,15 @@ impl WorktreeStore {
pub fn remove_worktree(&mut self, id_to_remove: WorktreeId, cx: &mut ModelContext<Self>) {
self.worktrees.retain(|worktree| {
if let Some(worktree) = worktree.upgrade() {
worktree.read(cx).id() != id_to_remove
if worktree.read(cx).id() == id_to_remove {
cx.emit(WorktreeStoreEvent::WorktreeRemoved(
worktree.entity_id(),
id_to_remove,
));
false
} else {
true
}
} else {
false
}