[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29468] trunk/blender/intern/ghost/intern: ifdef disable X11 mouse grab, it locks up the system for artists too often (whenever blender locks up).
Campbell Barton
ideasman42 at gmail.com
Tue Jun 15 19:40:31 CEST 2010
Revision: 29468
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29468
Author: campbellbarton
Date: 2010-06-15 19:40:31 +0200 (Tue, 15 Jun 2010)
Log Message:
-----------
ifdef disable X11 mouse grab, it locks up the system for artists too often (whenever blender locks up).
Modified Paths:
--------------
trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp
Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2010-06-15 17:14:21 UTC (rev 29467)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2010-06-15 17:40:31 UTC (rev 29468)
@@ -465,7 +465,7 @@
/* could also clamp to screen bounds
* wrap with a window outside the view will fail atm */
- bounds.wrapPoint(x_new, y_new, 2); /* offset of one incase blender is at screen bounds */
+ bounds.wrapPoint(x_new, y_new, 8); /* offset of one incase blender is at screen bounds */
window->getCursorGrabAccum(x_accum, y_accum);
if(x_new != xme.x_root || y_new != xme.y_root) {
Modified: trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp 2010-06-15 17:14:21 UTC (rev 29467)
+++ trunk/blender/intern/ghost/intern/GHOST_WindowX11.cpp 2010-06-15 17:40:31 UTC (rev 29468)
@@ -57,6 +57,9 @@
#define MWM_HINTS_DECORATIONS (1L << 1)
+
+// #define GHOST_X11_GRAB
+
/*
* A Client can't change the window property, that is
* the work of the window manager. In case, we send
@@ -1442,7 +1445,9 @@
setWindowCursorVisibility(false);
}
+#ifdef GHOST_X11_GRAB
XGrabPointer(m_display, m_window, False, ButtonPressMask| ButtonReleaseMask|PointerMotionMask, GrabModeAsync, GrabModeAsync, None, None, CurrentTime);
+#endif
}
else {
if (m_cursorGrab==GHOST_kGrabHide) {
@@ -1460,7 +1465,9 @@
/* Almost works without but important otherwise the mouse GHOST location can be incorrect on exit */
setCursorGrabAccum(0, 0);
m_cursorGrabBounds.m_l= m_cursorGrabBounds.m_r= -1; /* disable */
+#ifdef GHOST_X11_GRAB
XUngrabPointer(m_display, CurrentTime);
+#endif
}
XFlush(m_display);
More information about the Bf-blender-cvs
mailing list