patch 8.0.1504: Win32: the screen may be cleared on startup
Problem: Win32: the screen may be cleared on startup.
Solution: Only call shell_resized() when the size actually changed. (Ken
Takata, closes #2527)
diff --git a/src/os_win32.c b/src/os_win32.c
index 121ff2a..02f8710 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1557,7 +1557,13 @@
if (ir.EventType == FOCUS_EVENT)
handle_focus_event(ir);
else if (ir.EventType == WINDOW_BUFFER_SIZE_EVENT)
- shell_resized();
+ {
+ /* Only call shell_resized() when the size actually change to
+ * avoid the screen is cleard. */
+ if (ir.Event.WindowBufferSizeEvent.dwSize.X != Columns
+ || ir.Event.WindowBufferSizeEvent.dwSize.Y != Rows)
+ shell_resized();
+ }
#ifdef FEAT_MOUSE
else if (ir.EventType == MOUSE_EVENT
&& decode_mouse_event(&ir.Event.MouseEvent))