XWayland tablet devices have the Wayland seat ID appended to the end of them, preceded by a colon. This prevents match_token from properly detecting XWayland devices and causes Wintab32 to fail to initialize. This change allows a matched token to end in a colon, and thus allows XWayland tablet devices to be detected correctly.
Signed-off-by: John Chadwick john@jchw.io
From: John Chadwick john@jchw.io
XWayland tablet devices have the Wayland seat ID appended to the end of them, preceded by a colon. This prevents match_token from properly detecting XWayland devices and causes Wintab32 to fail to initialize. This change allows a matched token to end in a colon, and thus allows XWayland tablet devices to be detected correctly.
Signed-off-by: John Chadwick john@jchw.io --- dlls/winex11.drv/wintab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c index b906a589e08..6f1437f14c6 100644 --- a/dlls/winex11.drv/wintab.c +++ b/dlls/winex11.drv/wintab.c @@ -374,7 +374,7 @@ static BOOL match_token(const char *haystack, const char *needle)
for (q = needle; *q && *p && tolower(*p) == tolower(*q); q++) p++; - if (! *q && (isspace(*p) || !*p)) + if (! *q && (isspace(*p) || *p == ':' || !*p)) return TRUE;
while (*p && ! isspace(*p))