Vaclav Slavik wrote:
> Hi,
> 
> I'm using DirectFB 1.0.0-rc2 together with linux-fusion-3.2 to run 
> more than one on on single SDL system screen. I'm sometimes(!) 
> getting an assert in dfb_gfxcard_blit() when the second app launched 
> (while the first one is still running) shows its window:
> 
> (*) DirectFB/Core: Multi Application Core. (2006-11-25 23:51) [ 
> DEBUG ]
> (*) Direct/Memcpy: Using libc memcpy()
> (*) Direct/Thread: Running 'Fusion Dispatch' (MESSAGING, 15685)...
> (*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
> (*) Direct/Interface: Loaded 'DGIFF' implementation 
> of 'IDirectFBFont'.
> (!) [Main Thread       4.215] (15684) *** Assertion [rect->x + 
> rect->w - 1 <
> state->source->width] failed *** [gfxcard.c:1213 in 
> dfb_gfxcard_blit()]
> (!) [15684:    4.215] --> Caught signal 5 (sent by pid 15684, uid 
> 1000) <--
> (!) Direct/Thread: Killing 'Fusion Dispatch' (15685)!
> Killed
> 
> The worst part is that it's not reproducible, I sometimes get the 
> assert, sometimes not. I sometimes get it with debugging code 
> compiled in. I don't get the assert in release build of DFB. I don't 
> get it when I run the 2nd app under Valgrind (which slows it down a 
> lot). I don't get it in single instance build when running that app, 
> nor if I run the asserting app as the 1st one when no other app is 
> occupying the display. When I don't get the assert, everything seems 
> to render correctly. It looks like some timing issue to me, possibly 
> related to threads synchronization.
> 
> The assert appears because GetSurface() for the DFB window with 
> dimensions 110x50 returns a surface with 128x64 dimensions (which is 
> my screen's size). I don't understand how could that happen, though.
> 
> I have no idea how to debug this, would you have any ideas where to 
> look and how to debug this? I'm new to DFB and don't know its 
> internals at all, so I'm at lost as to what to look for...
> 
> Thanks in advance,
> Vaclav
> 

That started happening after dok sequenzialized fusion reactions.
After that change, notification of surface resizement may happen after a
long delay.
Dok, what about reverting the change?

-- 
Regards,
     Claudio Ciccani

[EMAIL PROTECTED]
http://directfb.org
http://sf.net/projects/php-directfb

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

Reply via email to