Hello again.
When creating a screen, my apps follow these steps (valgrind output):
==4307== by 0x4E6F77D: XF86DRIGetDeviceInfo (XF86dri.c:596)
==4307== by 0x4E6EBE6: driCreateScreen (dri_glx.c:386)
==4307== by 0x4E4E5C1: __glXInitialize (glxext.c:627)
==4307== by 0x4E4965C: GetGLXPrivScreenConfig (glxcmds.c:188)
==4307== by 0x4E4A5CE: glXChooseVisual (glxcmds.c:1403)
==4307== by 0x4016DD: createWindow (teste-x11.c:123)
The non-freed memory is from here, the framebuffer.dev_priv (dri_glx.c:386).
if (!XF86DRIGetDeviceInfo(dpy, scrn, &hFB, &junk,
&framebuffer.size, &framebuffer.stride,
&framebuffer.dev_priv_size,
&framebuffer.dev_priv)) {
ErrorMessageF("XF86DRIGetDeviceInfo failed");
goto handle_error;
}
And it is called from glXChooseVisual (glxcmds.c)
if (GetGLXPrivScreenConfig(dpy, screen, &priv, &psc) != Success) {
return None;
}
The psc (PrivScreenConfig structure) contains the non-freed data.
Maybe it should be freed at the end of glXChooseVisual() ?
Regards,
Rodolfo
PS: I'm using Mesa 7.6.1 and dri.
------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev