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:
parent
4a577fff4a
commit
c208532693
79 changed files with 319 additions and 306 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue