On Wed, Mar 11, 2009 at 10:36:49AM +0800, [email protected] wrote: > I compared Xorg 1.5.99.3 with Xorg 1.5.2, xf86CursorSetCursor seems > to cause the problem. Xf86CursorSetCursor in Xorg 1.5.99.3 adds > judgement "pDev != inputInfo.pointer" . > > For example: Xorg 1.5.99.3 xf86Cursor.c Line 305 if > (ScreenPriv->SWCursor || pDev != inputInfo.pointer) > > Xorg 1.5.99.3 xf86Cursor.c Line 317 if (pDev == > inputInfo.pointer) > > > > 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? > > Thanks!
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? Cheers, Peter _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
