Fix a few regressions related to the flicker fix (#9190)
Antonio Scandurra
created 2 years ago
This pull request fixes
https://github.com/zed-industries/zed/issues/9187 and fixes also ix a
rendering problem that would show cursors on the same plane:

Release Notes:
- N/A
Change summary
crates/editor/src/element.rs | 8 +++-----
crates/workspace/src/modal_layer.rs | 26 ++++++++++++++++----------
2 files changed, 19 insertions(+), 15 deletions(-)
Detailed changes
@@ -2083,11 +2083,9 @@ impl EditorElement {
}
fn paint_cursors(&mut self, layout: &mut EditorLayout, cx: &mut ElementContext) {
- cx.paint_layer(layout.text_hitbox.bounds, |cx| {
- for cursor in &mut layout.cursors {
- cursor.paint(layout.content_origin, cx);
- }
- });
+ for cursor in &mut layout.cursors {
+ cursor.paint(layout.content_origin, cx);
+ }
}
fn paint_scrollbar(&mut self, layout: &mut EditorLayout, cx: &mut ElementContext) {
@@ -139,15 +139,21 @@ impl Render for ModalLayer {
return div();
};
- div().absolute().size_full().top_0().left_0().child(
- v_flex()
- .h(px(0.0))
- .top_20()
- .flex()
- .flex_col()
- .items_center()
- .track_focus(&active_modal.focus_handle)
- .child(h_flex().child(active_modal.modal.view())),
- )
+ div()
+ .occlude()
+ .absolute()
+ .size_full()
+ .top_0()
+ .left_0()
+ .child(
+ v_flex()
+ .h(px(0.0))
+ .top_20()
+ .flex()
+ .flex_col()
+ .items_center()
+ .track_focus(&active_modal.focus_handle)
+ .child(h_flex().child(active_modal.modal.view())),
+ )
}
}