diff --git a/graphics/src/text/editor.rs b/graphics/src/text/editor.rs index 11ec1d7f7e..c29175d7e9 100644 --- a/graphics/src/text/editor.rs +++ b/graphics/src/text/editor.rs @@ -821,6 +821,13 @@ impl editor::Editor for Editor { internal.editor.shape_as_needed(font_system.raw(), false); + // The line layouts changed, so any cached selection is stale. + let _ = internal + .selection + .write() + .expect("Write to cursor cache") + .take(); + self.0 = Some(Arc::new(internal)); }