Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-01-15 08:44:08 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-01-15 08:44:08 +0300
commit9461af299ca937ff36048f9198670eab6a6b233b (patch)
treec0e384327e8a44540cfc4b52d725c6d5f0027710 /intern/ghost
parentdde4375d5c57ca3f138d2f925fa36d0b0e5895ea (diff)
Revert fix for T48901: Use of XIWarpPointer
Xorg's XIWarpPointer doesn't support multi-head display while XWarpPointer does. Revert since this is a known TODO in Xorg and setting a custom xinput matrix seems not to be used often. Resolves T50383
Diffstat (limited to 'intern/ghost')
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.cpp2
-rw-r--r--intern/ghost/intern/GHOST_SystemX11.h6
-rw-r--r--intern/ghost/intern/GHOST_WindowX11.cpp2
3 files changed, 8 insertions, 2 deletions
diff --git a/intern/ghost/intern/GHOST_SystemX11.cpp b/intern/ghost/intern/GHOST_SystemX11.cpp
index 1afffb85037..c3ddde1356c 100644
--- a/intern/ghost/intern/GHOST_SystemX11.cpp
+++ b/intern/ghost/intern/GHOST_SystemX11.cpp
@@ -1671,7 +1671,7 @@ setCursorPosition(
}
#endif
-#ifdef WITH_X11_XINPUT
+#if defined(WITH_X11_XINPUT) && defined(USE_X11_XINPUT_WARP)
if ((m_xinput_version.present) &&
(m_xinput_version.major_version >= 2))
{
diff --git a/intern/ghost/intern/GHOST_SystemX11.h b/intern/ghost/intern/GHOST_SystemX11.h
index a4c997c7bf9..a33f17dbb5c 100644
--- a/intern/ghost/intern/GHOST_SystemX11.h
+++ b/intern/ghost/intern/GHOST_SystemX11.h
@@ -42,6 +42,12 @@
// For tablets
#ifdef WITH_X11_XINPUT
# include <X11/extensions/XInput.h>
+
+/* Disable xinput warp, currently not implemented by Xorg for multi-head display.
+ * (see comment in xserver "Xi/xiwarppointer.c" -> "FIXME: panoramix stuff is missing" ~ v1.13.4)
+ * If this is supported we can add back xinput for warping (fixing T48901).
+ * For now disable (see T50383). */
+// # define USE_X11_XINPUT_WARP
#endif
#if defined(WITH_X11_XINPUT) && defined(X_HAVE_UTF8_STRING)
diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp
index fb3326ea4f4..1d6ad26f288 100644
--- a/intern/ghost/intern/GHOST_WindowX11.cpp
+++ b/intern/ghost/intern/GHOST_WindowX11.cpp
@@ -1515,7 +1515,7 @@ setWindowCursorGrab(
* blender gets can be outside the screen causing menus not to show
* properly unless the user moves the mouse */
-#ifdef WITH_X11_XINPUT
+#if defined(WITH_X11_XINPUT) && defined(USE_X11_XINPUT_WARP)
if ((m_system->m_xinput_version.present) &&
(m_system->m_xinput_version.major_version >= 2))
{