patch 8.2.4762: using freed memory using synstack() and synID() in WinEnter

Problem:    Using freed memory when using synstack() and synID() in WinEnter.
Solution:   Check using the syntax window. (closes #10204)
diff --git a/src/syntax.c b/src/syntax.c
index 086d9d7..6b71e8d 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6486,8 +6486,9 @@
     int		keep_state)  // keep state of char at "col"
 {
     // When the position is not after the current position and in the same
-    // line of the same buffer, need to restart parsing.
-    if (wp->w_buffer != syn_buf
+    // line of the same window with the same buffer, need to restart parsing.
+    if (wp != syn_win
+	    || wp->w_buffer != syn_buf
 	    || lnum != current_lnum
 	    || col < current_col)
 	syntax_start(wp, lnum);