On 12/20/11 11:12, Sebastian Tron wrote:
> Hi,
> 
> I got following error while executing my sample application:
> 
> (!) [Main Thread       0.000] (27229) *** Assertion [surface->num_buffers > 
> 0] failed *** [../../src/core/surface.h:324 in dfb_surface_get_buffer()]
>  
> The problem occurs when I attempt to create window. But it happens only after 
> cooperative level is switched to DFSCL_EXCLUSIVE or DFSCL_FULLSCREEN.
> 
> I have found that when DFSCL_NORMAL cooperative level is switched to 
> DFSCL_EXCLUSIVE or DFSCL_FULLSCREEN then following actions are performed:
> - new layer context is created and activated,
> - which causes previous context to be deactivated
> - that destroys all buffers attached to previous context.
> 
> When a new window is about to be created DirectFB refers to previous layer 
> context as a primary context, 
> which assumes that its number of buffers is more than zero and performs 
> division by number of buffers in function dfb_surface_get_buffer, unless 
> assertion is enabled
> 
> I reproduced such behaviour also using DirectFB 1.4.15.
> 
> Could you give me a hint how to prevent such problems? Is there some bug in 
> DirectFB or do I do something wrong?

The deallocation if the layer buffers has been changed to not destroy the 
buffers,
but only the allocations. So it's a bug in the older versions. We're planning 
for
1.4.16 very soon.

-- 
Best regards,
  Denis Oliver Kropp

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to