查看单个帖子
旧 2009-05-06, 10:52 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】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
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)