Use read-only access methods for read-only entity operations (#31479)

Another follow-up to #31254

Release Notes:

- N/A
This commit is contained in:
Joseph T. Lyons 2025-05-26 23:04:31 -04:00 committed by GitHub
parent 4a577fff4a
commit c208532693
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
79 changed files with 319 additions and 306 deletions

View file

@ -702,7 +702,7 @@ impl TerminalPanel {
terminal_panel.pending_terminals_to_add += 1;
terminal_panel.active_pane.clone()
})?;
let project = workspace.update(cx, |workspace, _| workspace.project().clone())?;
let project = workspace.read_with(cx, |workspace, _| workspace.project().clone())?;
let window_handle = cx.window_handle();
let terminal = project
.update(cx, |project, cx| {
@ -754,7 +754,7 @@ impl TerminalPanel {
let width = self.width;
let Some(serialization_key) = self
.workspace
.update(cx, |workspace, _| {
.read_with(cx, |workspace, _| {
TerminalPanel::serialization_key(workspace)
})
.ok()
@ -972,7 +972,7 @@ pub fn new_terminal_pane(
if let Some(tab) = dragged_item.downcast_ref::<DraggedTab>() {
let is_current_pane = tab.pane == cx.entity();
let Some(can_drag_away) = split_closure_terminal_panel
.update(cx, |terminal_panel, _| {
.read_with(cx, |terminal_panel, _| {
let current_panes = terminal_panel.center.panes();
!current_panes.contains(&&tab.pane)
|| current_panes.len() > 1

View file

@ -389,11 +389,9 @@ impl TerminalView {
fn rerun_task(&mut self, _: &RerunTask, window: &mut Window, cx: &mut Context<Self>) {
let task = self
.terminal
.update(cx, |terminal, _| {
terminal
.task()
.map(|task| terminal_rerun_override(&task.id))
})
.read(cx)
.task()
.map(|task| terminal_rerun_override(&task.id))
.unwrap_or_default();
window.dispatch_action(Box::new(task), cx);
}