patch 9.0.1800: Cursor position still wrong with 'showbreak' and virtual text

Problem:  Cursor position still wrong with 'showbreak' and virtual text
          after last character or 'listchars' "eol".
Solution: Remove unnecessary w_wcol adjustment in curs_columns(). Also
          fix first char of virtual text not shown at the start of a screen
          line.

closes: #12478
closes: #12532
closes: #12904

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
diff --git a/src/drawline.c b/src/drawline.c
index 12ac740..5b5fbf2 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -3733,7 +3733,11 @@
 		&& (*ptr != NUL
 		    || lcs_eol_one > 0
 		    || (wlv.n_extra > 0 && (wlv.c_extra != NUL
-						     || *wlv.p_extra != NUL))))
+						     || *wlv.p_extra != NUL))
+#ifdef FEAT_PROP_POPUP
+		    || text_prop_next < text_prop_count
+#endif
+		   ))
 	{
 	    c = wp->w_lcs_chars.ext;
 	    wlv.char_attr = hl_combine_attr(wlv.win_attr, HL_ATTR(HLF_AT));
@@ -4014,6 +4018,7 @@
 #endif
 #ifdef FEAT_PROP_POPUP
 		    || text_prop_above || text_prop_follows
+		    || text_prop_next < text_prop_count
 #endif
 		    || (wp->w_p_list && wp->w_lcs_chars.eol != NUL
 						&& wlv.p_extra != at_end_str)