patch 9.1.0729: Wrong cursor-screenline when resizing window

Problem:  Wrong cursor-screenline when resizing window
Solution: Invalidate saved left_col and right_col when width1 or width2
          change.

closes: #15679

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/drawline.c b/src/drawline.c
index e388bdb..b627192 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -39,25 +39,26 @@
     // cache previous calculations depending on w_virtcol
     static int saved_w_virtcol;
     static win_T *prev_wp;
+    static int prev_width1;
+    static int prev_width2;
     static int prev_left_col;
     static int prev_right_col;
-    static int prev_col_off;
 
     int cur_col_off = win_col_off(wp);
     int	width1;
     int	width2;
 
-    if (saved_w_virtcol == wp->w_virtcol
-	    && prev_wp == wp && prev_col_off == cur_col_off)
+    width1 = wp->w_width - cur_col_off;
+    width2 = width1 + win_col_off2(wp);
+
+    if (saved_w_virtcol == wp->w_virtcol && prev_wp == wp
+	    && prev_width1 == width1 && prev_width2 == width2)
     {
 	*right_col = prev_right_col;
 	*left_col = prev_left_col;
 	return;
     }
 
-    width1 = wp->w_width - cur_col_off;
-    width2 = width1 + win_col_off2(wp);
-
     *left_col = 0;
     *right_col = width1;
 
@@ -70,8 +71,9 @@
     prev_left_col = *left_col;
     prev_right_col = *right_col;
     prev_wp = wp;
+    prev_width1 = width1;
+    prev_width2 = width2;
     saved_w_virtcol = wp->w_virtcol;
-    prev_col_off = cur_col_off;
 }
 #endif