xv + silkenmouse bug

Thomas Winischhofer thomas at winischhofer.net
Fri Sep 30 11:53:10 PDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Keith Packard wrote:
> On Fri, 2005-09-30 at 16:39 +0200, Thomas Winischhofer wrote:
> 
>>-----BEGIN PGP SIGNED MESSAGE-----
>>Hash: SHA1
>>
>>
>>It seems I am pushing the common code to its limits with my current
>>work. This time it's about Xv:
>>
>>1) Xv in combination with silkenmouse:
>>
>>Even if this is assumingly unneccessary, but please allow me to remind
>>me and you that Silkenmouse means that the cursor update code is
>>executed asynchronously, ie it can interrupt on-going other operations
>>of the server.
>>
>>The cursor code (pScrn->PointerMoved) is there to eventually pan the
>>viewport. So it is likely that pScrn->AdjustFrame is executed, which is
>>wrapped by Xv.
> 
> 
> I think here's the place where we should fix things -- we should pend
> the AdjustFrame call until 'normal' execution time. This means doing the
> AdjustFrame from the input event processing code instead of the event
> queueing code. The only thing that should be executed from the signal
> handler is the hardware mouse positioning function and the event queuing
> function.

I entirely agree. For now, I deferred it into my BlockHandler (after
taking the extra hurdle that Xv resets pScrn->AdjustFrame to its own
every time). Works, but should anyway be fixed on a global level.


> (it looked like the rest of the message was dealing with AdjustFrame
> called at signal handler time).

And ReputImage, which isn't called if the overlay was entirely
off-screen for once and the screen is panned back so that it is partly
visible. But this is by far a less important issue than the AdjustFrame
problem.

Thomas

- --
Thomas Winischhofer
Vienna/Austria
thomas AT winischhofer DOT net          http://www.winischhofer.net/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDPYmWzydIRAktyUcRAkofAJ0V/ODCIShPZe2gJLSPJphMFtqZDQCgvJAN
jJ+XvIsVWA/qrL/7WDm8Bhg=
=CUBg
-----END PGP SIGNATURE-----



More information about the xorg mailing list