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