Issue 120831 - Some IMPL_SfxBaseModel_MutexContainer objects created in SfxBaseModel::SfxBaseModel are not freed
Some IMPL_SfxBaseModel_MutexContainer objects created in SfxBaseModel::SfxBas...
Status: CLOSED FIXED
Product: General
Classification: Code
Component: chart
OOo 3.3 or older
All All
: P3 normal (vote)
: 4.0.0
Assigned To: zhang jianfang
:
Depends on: 120828
Blocks: 120975
  Show dependency treegraph
 
Reported: 2012-09-06 08:06 UTC by zhang jianfang
Modified: 2013-07-12 10:49 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Latest Confirmation on: ---
Developer Difficulty: ---


Attachments
fix code patch (695 bytes, patch)
2012-09-06 08:23 UTC, zhang jianfang
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description zhang jianfang 2012-09-06 08:06:50 UTC
Please see below call stack, the IMPL_SfxBaseModel_DataContainer object created in SfxBaseModel for ChartView is never freed,

 	sfx.dll!SfxBaseModel::SfxBaseModel(SfxObjectShell * pObjectShell=0x00000000)  Line 544	C++
 	svxcore.dll!SvxUnoDrawingModel::SvxUnoDrawingModel(SdrModel * pDoc=0x0a9153c8)  Line 275 + 0x31 bytes	C++
 	chartview.dll!chart::DrawModelWrapper::createUnoModel()  Line 211 + 0x23 bytes	C++
 	svxcore.dll!SdrModel::getUnoModel()  Line 1881 + 0x11 bytes	C++
 	chartview.dll!chart::DrawModelWrapper::getUnoModel()  Line 217 + 0xd bytes	C++
 	chartview.dll!chart::DrawModelWrapper::getShapeFactory()  Line 228 + 0xc bytes	C++
>	chartview.dll!chart::ChartView::initialize(const com::sun::star::uno::Sequence<com::sun::star::uno::Any> & aArguments={...})  Line 201 + 0x15 bytes	C++
 	chartcontroller.dll!chart::wrapper::ChartDocumentWrapper::createInstance(const rtl::OUString & aServiceSpecifier={...})  Line 1391 + 0x21 bytes	C++


While other IMPL_SfxBaseModel_DataContainer objects in SfxBaseModel are OK.
Comment 1 zhang jianfang 2012-09-06 08:08:31 UTC
It depends on bug 120828 to make sure ChartView object can be freed at first.
Comment 2 zhang jianfang 2012-09-06 08:23:09 UTC
Created attachment 79313 [details]
fix code patch

Call SfxBaseModel::dispose() in ChartView dtor to make sure SfxBaseModel object is disposed correctly.
Comment 3 SVN Robot 2012-09-11 13:30:42 UTC
"zhangjf" committed SVN revision 1383407 into trunk:
#i120831#, call dispose() from ChartView dtor to make sure SfxBaseModel objec...
Comment 4 zhang jianfang 2012-09-11 13:31:39 UTC
Change to resolved state