ports/131644: Xinerama mouse event (focus freeze) problem

Harald Schmalzbauer freebsd at omnilan.de
Fri Feb 13 15:20:04 UTC 2009


>Number:         131644
>Category:       ports
>Synopsis:       Xinerama mouse event (focus freeze) problem
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Feb 13 15:20:00 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Harald Schmalzbauer
>Release:        FreeBSD 7.1-STABLE i386
>Organization:
OmniLAN
>Environment:
System: FreeBSD titan.flintsbach.schmalzbauer.de 7.1-STABLE FreeBSD 7.1-STABLE #3: Tue Feb 3 09:13:42 CET 2009 root at titan.flintsbach.schmalzbauer.de:/usr/obj/usr/src/sys/TITAN i386


	
>Description:
	When focus changings happen with windows on different monitors
on a xinerama setup the mouse events get lost to the root window.
For further details see this thread:
http://bugs.freedesktop.org/show_bug.cgi?id=18668

>How-To-Repeat:
	Place two windows on two different monitors and frequently change
the focus. After about 100 changes the mouse event's don't show any reaction
any more.
>Fix:
	Like the link above tells there is a problem in mipointer.c
	Create the following patch file in x11-servers/xorg-server/files/
	patch-mipointer.c
--- mi/mipointer.c.orig
+++ mi/mipointer.c
@@ -260,7 +260,14 @@ miPointerWarpCursor (pScreen, x, y)
        miPointer.pScreen = pScreen;
     }
 
-    if (changedScreen)
+    /* Don't call USFS if we use Xinerama, otherwise the root window is
+     * updated to the second screen, and we never receive any events.
+     * (FDO bug #18668) */
+    if (changedScreen
+#ifdef PANORAMIX
+            && noPanoramiXExtension
+#endif
+       )
         UpdateSpriteForScreen (pScreen) ;
 }

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list