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

Reply via email to