workspace: Don't update platform window title if title has not changed (#34753)

Closes #34749 #34715

Release Notes:

- Fixed window title X event spam
This commit is contained in:
Fabian Bergström 2025-08-07 21:13:51 +02:00 committed by GitHub
parent e8db429d24
commit 9ade399756
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1086,6 +1086,7 @@ pub struct Workspace {
follower_states: HashMap<CollaboratorId, FollowerState>,
last_leaders_by_pane: HashMap<WeakEntity<Pane>, CollaboratorId>,
window_edited: bool,
last_window_title: Option<String>,
dirty_items: HashMap<EntityId, Subscription>,
active_call: Option<(Entity<ActiveCall>, Vec<Subscription>)>,
leader_updates_tx: mpsc::UnboundedSender<(PeerId, proto::UpdateFollowers)>,
@ -1418,6 +1419,7 @@ impl Workspace {
last_leaders_by_pane: Default::default(),
dispatching_keystrokes: Default::default(),
window_edited: false,
last_window_title: None,
dirty_items: Default::default(),
active_call,
database_id: workspace_id,
@ -4403,7 +4405,13 @@ impl Workspace {
title.push_str("");
}
if let Some(last_title) = self.last_window_title.as_ref() {
if &title == last_title {
return;
}
}
window.set_window_title(&title);
self.last_window_title = Some(title);
}
fn update_window_edited(&mut self, window: &mut Window, cx: &mut App) {