patch 9.1.1429: dragging outside the tabpanel changes tabpagenr

Problem:  dragging outside the tabpanel changes tabpagenr (char101)
Solution: set in_tab_line and in_tabpanel variables (Hirohito Higashi)

fixes: #17385
closes: #17431

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/mouse.c b/src/mouse.c
index 0d05e64..dcb6cbe 100644
--- a/src/mouse.c
+++ b/src/mouse.c
@@ -337,7 +337,13 @@
 
     // Ignore drag and release events if we didn't get a click.
     if (is_click)
+    {
 	got_click = TRUE;
+	in_tab_line = FALSE;
+#if defined(FEAT_TABPANEL)
+	in_tabpanel = FALSE;
+#endif
+    }
     else
     {
 	if (!got_click)			// didn't get click, ignore
diff --git a/src/testdir/test_tabpanel.vim b/src/testdir/test_tabpanel.vim
index c3288f8..0d729a8 100644
--- a/src/testdir/test_tabpanel.vim
+++ b/src/testdir/test_tabpanel.vim
@@ -92,6 +92,13 @@
   call feedkeys("\<LeftMouse>", 'xt')
   call assert_equal(3, tabpagenr())
 
+  " Confirm that tabpagenr() does not change when dragging outside the tabpanel
+  call test_setmouse(3, 30)
+  call feedkeys("\<LeftMouse>", 'xt')
+  call test_setmouse(1, 30)
+  call feedkeys("\<LeftDrag>", 'xt')
+  call assert_equal(3, tabpagenr())
+
   call feedkeys("\<LeftMouse>", 'xt')
   call test_setmouse(2, 3)
   let pos = getmousepos()
diff --git a/src/version.c b/src/version.c
index 7c3c4f1..5e34826 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1429,
+/**/
     1428,
 /**/
     1427,