Skip to content

Commit 7fcdad1

Browse files
authored
Remove message deferral for text creation (#2978)
* Remove message deferral for text creation * Restructure Trigger Navigation ready to not hijack the PTZ Update
1 parent a0ce56d commit 7fcdad1

File tree

3 files changed

+22
-33
lines changed

3 files changed

+22
-33
lines changed

editor/src/messages/input_preprocessor/input_preprocessor_message_handler.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,15 @@ impl MessageHandler<InputPreprocessorMessage, InputPreprocessorMessageContext> f
3535

3636
responses.add(NavigationMessage::CanvasPan { delta: DVec2::ZERO });
3737
responses.add(NodeGraphMessage::SetGridAlignedEdges);
38+
// We have to wait until a node node graph has run and all messages from that execution have been processed.
39+
responses.add(DeferMessage::AfterGraphRun {
40+
messages: vec![
41+
DeferMessage::AfterGraphRun {
42+
messages: vec![DeferMessage::TriggerNavigationReady.into()],
43+
}
44+
.into(),
45+
],
46+
});
3847
}
3948
}
4049
InputPreprocessorMessage::DoubleClick { editor_mouse_state, modifier_keys } => {

editor/src/messages/portfolio/document/document_message_handler.rs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,20 +1436,6 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
14361436
},
14371437
})
14381438
}
1439-
// Some parts of the editior (e.g. navigation messages) depend on these bounds to be present
1440-
let bounds = if self.graph_view_overlay_open {
1441-
self.network_interface.all_nodes_bounding_box(&self.breadcrumb_network_path).cloned()
1442-
} else {
1443-
self.network_interface.document_bounds_document_space(true)
1444-
};
1445-
if bounds.is_some() {
1446-
responses.add(DeferMessage::TriggerNavigationReady);
1447-
} else {
1448-
// If we don't have bounds yet, we need wait until the node graph has run once more
1449-
responses.add(DeferMessage::AfterGraphRun {
1450-
messages: vec![DocumentMessage::PTZUpdate.into()],
1451-
});
1452-
}
14531439
}
14541440
DocumentMessage::SelectionStepBack => {
14551441
self.network_interface.selection_step_back(&self.selection_network_path);

editor/src/messages/tool/tool_messages/text_tool.rs

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -385,25 +385,19 @@ impl TextToolData {
385385
parent: document.new_layer_parent(true),
386386
insert_index: 0,
387387
});
388-
responses.add(DeferMessage::AfterGraphRun {
389-
messages: vec![
390-
GraphOperationMessage::FillSet {
391-
layer: self.layer,
392-
fill: if editing_text.color.is_some() {
393-
Fill::Solid(editing_text.color.unwrap().to_gamma_srgb())
394-
} else {
395-
Fill::None
396-
},
397-
}
398-
.into(),
399-
GraphOperationMessage::TransformSet {
400-
layer: self.layer,
401-
transform: editing_text.transform,
402-
transform_in: TransformIn::Viewport,
403-
skip_rerender: true,
404-
}
405-
.into(),
406-
],
388+
responses.add(GraphOperationMessage::FillSet {
389+
layer: self.layer,
390+
fill: if editing_text.color.is_some() {
391+
Fill::Solid(editing_text.color.unwrap().to_gamma_srgb())
392+
} else {
393+
Fill::None
394+
},
395+
});
396+
responses.add(GraphOperationMessage::TransformSet {
397+
layer: self.layer,
398+
transform: editing_text.transform,
399+
transform_in: TransformIn::Viewport,
400+
skip_rerender: true,
407401
});
408402
self.editing_text = Some(editing_text);
409403

0 commit comments

Comments
 (0)