高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】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
|