From 0a7add4ad4b0f9838e585b12d8d07f8ed637eb97 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bla=C5=BE=20Hrastnik?= <blaz@mxxn.io>
Date: Wed, 9 Jun 2021 15:46:13 +0900
Subject: [PATCH] Only recalculate resize during rendering, this stops flashing
 on resize

---
 helix-term/src/ui/editor.rs | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/helix-term/src/ui/editor.rs b/helix-term/src/ui/editor.rs
index ffe755e6..3fcd6921 100644
--- a/helix-term/src/ui/editor.rs
+++ b/helix-term/src/ui/editor.rs
@@ -698,9 +698,8 @@ impl Component for EditorView {
     fn handle_event(&mut self, event: Event, cx: &mut Context) -> EventResult {
         match event {
             Event::Resize(width, height) => {
-                // HAXX: offset the render area height by 1 to account for prompt/commandline
-                cx.editor
-                    .resize(Rect::new(0, 0, width, height.saturating_sub(1)));
+                // Ignore this event, we handle resizing just before rendering to screen.
+                // Handling it here but not re-rendering will cause flashing
                 EventResult::Consumed(None)
             }
             Event::Key(key) => {