patch 8.1.1267: cannot check if GPM mouse support is working
Problem: Cannot check if GPM mouse support is working.
Solution: Add the "mouse_gpm_enable" feature.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 7b6785c..a2be7b9 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -6810,6 +6810,10 @@
else if (STRICMP(name, "netbeans_enabled") == 0)
n = netbeans_active();
#endif
+#ifdef FEAT_MOUSE_GPM
+ else if (STRICMP(name, "mouse_gpm_enabled") == 0)
+ n = gpm_enabled();
+#endif
#if defined(FEAT_TERMINAL) && defined(MSWIN)
else if (STRICMP(name, "terminal") == 0)
n = terminal_enabled();
diff --git a/src/os_unix.c b/src/os_unix.c
index 9f8a7b1..b5627b1 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -7022,7 +7022,7 @@
}
#endif /* !HAVE_RENAME */
-#ifdef FEAT_MOUSE_GPM
+#if defined(FEAT_MOUSE_GPM) || defined(PROTO)
/*
* Initializes connection with gpm (if it isn't already opened)
* Return 1 if succeeded (or connection already opened), 0 if failed
@@ -7059,12 +7059,21 @@
}
/*
+ * Returns TRUE if the GPM mouse is enabled.
+ */
+ int
+gpm_enabled(void)
+{
+ return gpm_flag && gpm_fd >= 0;
+}
+
+/*
* Closes connection to gpm
*/
static void
gpm_close(void)
{
- if (gpm_flag && gpm_fd >= 0) /* if Open */
+ if (gpm_enabled())
Gpm_Close();
}
diff --git a/src/proto/os_unix.pro b/src/proto/os_unix.pro
index 721c07d..0117b1e 100644
--- a/src/proto/os_unix.pro
+++ b/src/proto/os_unix.pro
@@ -72,6 +72,7 @@
int mch_has_exp_wildcard(char_u *p);
int mch_has_wildcard(char_u *p);
int mch_rename(const char *src, const char *dest);
+int gpm_enabled(void);
int mch_libcall(char_u *libname, char_u *funcname, char_u *argstring, int argint, char_u **string_result, int *number_result);
void setup_term_clip(void);
void start_xterm_trace(int button);
diff --git a/src/version.c b/src/version.c
index 8458a81..6877673 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1267,
+/**/
1266,
/**/
1265,