Two cursor using Xinerama on XServer 22.214.171.124
peter.hutterer at who-t.net
Thu Mar 12 01:28:56 PDT 2009
On Wed, Mar 11, 2009 at 10:36:49AM +0800, GordonYuan at viatech.com.cn wrote:
> I compared Xorg 126.96.36.199 with Xorg 1.5.2, xf86CursorSetCursor seems
> to cause the problem. Xf86CursorSetCursor in Xorg 188.8.131.52 adds
> judgement "pDev != inputInfo.pointer" .
> For example: Xorg 184.108.40.206 xf86Cursor.c Line 305 if
> (ScreenPriv->SWCursor || pDev != inputInfo.pointer)
> Xorg 220.127.116.11 xf86Cursor.c Line 317 if (pDev ==
> During my debuging process(move cursor from screen to screen), I found
> pDev was never equal to inputInfo.pointer every time
> xf86CursorSetCursor was called .
> What's the meaning of inputInfo.pointer? Shouldn't pDev is equal to
inputInfo.pointer is the virtual core pointer, the device that controls the
visible cursor sprite.
Looking at the code I think this check is incomplete. This code should only be
called for others than the VCP (which is usually hw-rendered).
IIRC this code is only called for slave devices, so it's probably
if (ScreenPriv->SWCursor || (!pDev->isMaster && pDev->u.master != inputInfo.pointer)
Can you give this a test please?
More information about the xorg