[PATCH] mi: fix software cursor with several X screens
Pierre-Loup A. Griffais
pgriffais at nvidia.com
Tue Apr 6 15:32:49 PDT 2010
Now with a proper GC cleanup sequence instead of freeing the same GC in a loop.
Thanks,
- Pierre-Loup
On 04/06/2010 02:44 PM, Pierre-Loup A. Griffais wrote:
> (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