patch 9.0.0179: cursor pos wrong with wrapping virtual text in empty line

Problem:    Cursor position wrong with wrapping virtual text in empty line.
Solution:   Adjust handling of an empty line. (closes #10875)
diff --git a/src/misc1.c b/src/misc1.c
index f3d90f8..f4a313d 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -399,11 +399,19 @@
     char_u	*s;
     long	col;
     int		width;
+    chartabsize_T cts;
 
     s = ml_get_buf(wp->w_buffer, lnum, FALSE);
-    if (*s == NUL)		// empty line
-	return 1;
-    col = win_linetabsize(wp, lnum, s, (colnr_T)MAXCOL);
+    init_chartabsize_arg(&cts, wp, lnum, 0, s, s);
+    if (*s == NUL
+#ifdef FEAT_PROP_POPUP
+	    && !cts.cts_has_prop_with_text
+#endif
+	    )
+	return 1; // be quick for an empty line
+    win_linetabsize_cts(&cts, (colnr_T)MAXCOL);
+    clear_chartabsize_arg(&cts);
+    col = (int)cts.cts_vcol;
 
     /*
      * If list mode is on, then the '$' at the end of the line may take up one