Hi Roland.
You might want to try the option "debugmem" although it is a bit like killing a fly with a double barrel gun. Also, you can try --enable-trace when doing ./configure, this will print, after program exit, a stackdump of the "create" of the remaining allocations.

For synchronising; I have normally success by using the "same" way as DirectFB debug messages, namely fprintf(stderr,"message\n");

For DFB_DEAD, this should come if thiz->priv is set to 0. However, we do a free(thiz) so it is possible that the location is already taken by something else later. If you have enough memory you can consider to remove the bottom D_FREE in DIRECT_DEALLOCATE_INTERFACE in lib/direct/interface.h.

Greets
Niels

Roland Schaefer wrote:
Hi. I am trying to track down three (out of quite a huge number of)
surfaces which seem not to get freed correctly by my application. I have
re-compiled DFB with debugging on and still can't find the rogue
surfaces. One problem is that my own debug output is not in sync with
the DFB debug output, which makes finding the place where my code is
missing a Release call sort of hard to find. So, is there anything like
XSynchronize? Or can I check the reference counter explicitly? And btw,
I never get DFB_DEAD after freeing my surfaces, even though I am in
debug mode. Is that normal?

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



--

.------------------------------------------.
| DirectFB - Hardware accelerated graphics |
| http://www.directfb.org/                 |
"------------------------------------------"
_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to