几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   DirectDWG (http://www.dimcax.com/hust/forumdisplay.php?f=89)
-   -   【转帖】problem memory leak (http://www.dimcax.com/hust/showthread.php?t=18049)

yang686526 2009-05-06 10:52 PM

【转帖】problem memory leak
 
problem memory leak
problem memory leak
hi,
i use to version 1.14.02.
it has already opened a dwg_file for model_space.
why happen memory leak in following function(getwidth_heigth())?
short getwidth_heigth()
{
odgepoint3d viewportcenter;
odgepoint3d viewtarget;
odgematrix3d eyetoworld, worldtoeye;
odabstractviewpeptr pape;
odrxobjectptr pvobject;
oddbviewporttableptr pvpt = database()->getviewporttableid().safeopenobject();
oddbviewporttablerecordptr pactivevp = pvpt->getactiveviewportid().safeopenobject();
pape = odabstractviewpeptr(pvobject = pactivevp);
viewportcenter = pape->target(pvobject); // in plotpaperunits
eyetoworld = pape->eyetoworld(pvobject);
worldtoeye = pape->worldtoeye(pvobject);
odgeboundblock3d extents;
if (pape->viewextents(pactivevp, extents)) // it also skip 'off layers'
{
extents.transformby(eyetoworld);
viewtarget = (extents.minpoint() + extents.maxpoint().asvector()) / 2.;
extents.transformby(worldtoeye);
m_filewidth = fabs(extents.maxpoint().x - extents.minpoint().x); // my desiring value
m_fileheight = fabs(extents.maxpoint().y - extents.minpoint().y); // my desiring value
}
return 0;
}
the leaks are result of bug in abstractviewpe viewextents() implementation. it effects static build only.
sergey slezkin


所有的时间均为北京时间。 现在的时间是 08:26 PM.