Bug#526260: xorg: cursor appears on all displays
Julien Cristau <jcristau@debian.org> writes:
> On Thu, Apr 30, 2009 at 00:52:47 -0700, Jakob wrote:
>
>> I have X configured with two screens (without Xinerama) like this:
>>
>> Section "ServerLayout"
>> Identifier "Default Layout"
>> Screen 0 "Screen0" 0 0
>> Screen 1 "Screen1" RightOf "Screen0"
>> ...
>>
>> Previously, the mouse cursor worked seamlessly across displays. After
>> upgrading to the newest xorg version, though, the cursor persists on the
>> inactive screen after moving across the display boundary. It's as if
>> the last displayed position on the previous screen isn't erased when it
>> hops to the next screen.
>>
>> This doesn't interfere with normal operations, it's just annoying :-).
>>
> You're using the closed nvidia driver. Is there any evidence this is
> not a driver bug?
i had the same problem and i just tried switching to the nv driver but
the multiple cursor problem persisted. i applied the following patch:
diff -uNr a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c
--- a/hw/xfree86/ramdac/xf86Cursor.c 2008-12-17 01:03:04.000000000 +0500
+++ b/hw/xfree86/ramdac/xf86Cursor.c 2009-05-17 23:07:45.000000000 +0600
@@ -302,9 +302,9 @@
if (pCurs == NullCursor) { /* means we're supposed to remove the cursor */
- if (ScreenPriv->SWCursor || pDev != inputInfo.pointer)
- (*ScreenPriv->spriteFuncs->SetCursor)(pDev, pScreen, NullCursor,
- x, y);
+ if (ScreenPriv->SWCursor ||
+ !(pDev == inputInfo.pointer || !pDev->isMaster && pDev->u.master == inputInfo.pointer))
+ (*ScreenPriv->spriteFuncs->SetCursor)(pDev, pScreen, NullCursor, x, y);
else if (ScreenPriv->isUp) {
xf86SetCursor(pScreen, NullCursor, x, y);
ScreenPriv->isUp = FALSE;
available at
http://launchpadlibrarian.net/26870925/178_second_cursor_fix.patch
and i can confirm that it fixes the multiple cursor problem with both
the nv and nvidia drivers.
--alex--
--
| I believe the moment is at hand when, by a paranoiac and active |
| advance of the mind, it will be possible (simultaneously with |
| automatism and other passive states) to systematize confusion |
| and thus to help to discredit completely the world of reality. |
Reply to: