patch 8.2.0146: wrong indent when 'showbreak' and 'breakindent' are set

Problem:    Wrong indent when 'showbreak' and 'breakindent' are set and
            'briopt' includes "sbr".
Solution:   Reset "need_showbreak" where needed. (Ken Takata, closes #5523)
diff --git a/src/drawline.c b/src/drawline.c
index 3e8b8b9..4723915 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1176,6 +1176,8 @@
 		    c_final = NUL;
 		    n_extra = get_breakindent_win(wp,
 				       ml_get_buf(wp->w_buffer, lnum, FALSE));
+		    if (wp->w_skipcol > 0 && wp->w_p_wrap)
+			need_showbreak = FALSE;
 		    // Correct end of highlighted area for 'breakindent',
 		    // required when 'linebreak' is also set.
 		    if (tocol == vcol)
@@ -1222,7 +1224,8 @@
 		    c_extra = NUL;
 		    c_final = NUL;
 		    n_extra = (int)STRLEN(sbr);
-		    need_showbreak = FALSE;
+		    if (wp->w_skipcol == 0 || !wp->w_p_wrap)
+			need_showbreak = FALSE;
 		    vcol_sbr = vcol + MB_CHARLEN(sbr);
 		    // Correct end of highlighted area for 'showbreak',
 		    // required when 'linebreak' is also set.