Claudio Ciccani schrieb:
> Denis Oliver Kropp wrote:
>> Claudio Ciccani via CVS schrieb:
>>> CVSROOT:    /cvs/directfb
>>> Module name:        DirectFB
>>> Changes by: klan    20061206 15:10:13
>>>
>>> Modified files:
>>>     src/core       : surfaces.c 
>>>
>>> Log message:
>>> Dispatch surface's notifications asynchronously.
>> synchronously I guess :)
> 
> For asynchronous I mean that local notification are not in sync with
> global notifications (say "not in chronological order" if you like).
> I understand that the name fusion_reactor_sync() is a bit odd, but I
> couldn't find a better name for what it does
> (fusion_recator_set_chronological()!? It doesn't sound good..).

The chronological order is more like a side effect to me :)

I see main difference in the thread where the reaction is called. Either
it happens synchronously during fusion_reactor_dispatch() or the message
arrives at the Fusion Dispatch thread and the reaction is called there,
ansynchronously to the dispatch.

But I don't have a well suiting AND not too long name either ;)
so far...

>>> This change fixes an assertion failure that happens in the following case:
>>> 1. Resize (Downsize) Surface
>>> ... and immediatly after ...
>>> 2. Blit to Surface
>> Maybe we should make synchronous the default again.
>>
> 
> I made the change because with the notification dispatched by "Fusion
> Dispatch", the resizement takes more time to be notified, therefore
> the IDirectFBSurface may still use outdated information.
> Indeed, in the bug I explained in the log, the IDirectFBSurface is still
> using the old clipping region when it issues the blit, thus the
> destination rectangle exceeds the surface's size.

I also saw the problem, but thought that using the notifications to
ensure a proper clipping rectangle and other values has been to loose
anyways. If another process is resizing your surface, you'll have the
same problem.

My thoughts about a better solution are not complete, yet. Actually,
I need to think about it a bit again to tell you what I thought so far :)

> Change what you whant but at least surface's notifications should be
> dispatched immediatly (to local reactions) to avoid these kind of bugs.

I'm glad to have your change in. It reverts back to the old behaviour
which is safe for all applications I know of. The only exception is when
you're using <Meta>-<Ctrl>-Motion to use the builtin wm "hack" to resize
a window.

-- 
Best regards,
   Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"

_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to