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 Mesa3d-dev@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mesa3d-dev