[PATCH] mi: fix software cursor with several X screens (was Re: Software cursor broken with several X screens)
Pierre-Loup A. Griffais
pgriffais at nvidia.com
Tue Apr 6 14:44:45 PDT 2010
(disregard previous message sent too soon)
Attached is a tentative patch that cleans that particular code up and fixes the
issue.
It would seem cleaner to perform the screen looping in ActivateDevice(), but
that would also mean changing miPointerDeviceInitialize and
miSpriteDeviceCursorInitialize to only perform their own setup once in that
case. Opinions?
Thanks,
- Pierre-Loup
On 04/06/2010 08:20 AM, Tiago Vignatti wrote:
> On Tue, Apr 06, 2010 at 03:52:07AM +0200, ext Pierre-Loup A. Griffais wrote:
>> The DC code is broken for setups with several screens. Devs only have one pSave
>> pixmap and there's no code to thrash them like p[Save|Restore]GC.
>>
>> That means if you have two X screens and force SW cursor on both, the server
>> will end up passing a bunch of CopyAreas with mismatching screens to the driver,
>> which can fail horribly if the driver does a good job abstracting screens away
>> from each other.
>
> If helps you, I can confirm this happening here also.
>
> Tiago
More information about the xorg-devel
mailing list