![]() |
CXTPCommandBarsSiteBase memory leak |
Post Reply ![]() |
Author | |
znakeeye ![]() Senior Member ![]() ![]() Joined: 26 July 2006 Status: Offline Points: 1672 |
![]() ![]() ![]() ![]() ![]() Posted: 16 October 2009 at 5:04am |
XTP 12.0.1, but I think this is present in all versions.
class CMyPane : public CXTPFrameWndBase<CWnd>
...
int CMyPane::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CXTPFrameWndBase<CWnd>::OnCreate(lpCreateStruct) == -1)
return -1;
InitCommandBars();
...
}
In my application this window is created, destroyed and then created again - without destroying the CMyPane-object:
m_myPane.Destroy();
...
m_myPane.Create(...); // MEMORY LEAK!
The error lies in XTPFrameWnd.h. Obviously, you don't think about the above scenario!
virtual BOOL InitCommandBars(CRuntimeClass* pCommandBarsClass = RUNTIME_CLASS(CXTPCommandBars))
{ // Begin FIX
if (m_pCommandBars)
{ m_pCommandBars->InternalRelease(); } // End FIX ASSERT(pCommandBarsClass->IsDerivedFrom(RUNTIME_CLASS(CXTPCommandBars))); m_pCommandBars = (CXTPCommandBars*) pCommandBarsClass->CreateObject(); ASSERT(m_pCommandBars); if (!m_pCommandBars) return FALSE; m_pCommandBars->SetSite(this); m_pCommandBars->EnableDocking(); return TRUE; } |
|
PokerMemento - http://www.pokermemento.com/
|
|
![]() |
|
znakeeye ![]() Senior Member ![]() ![]() Joined: 26 July 2006 Status: Offline Points: 1672 |
![]() ![]() ![]() ![]() ![]() |
Hmmm, why not destroy the command-bar in OnDestroy()?
|
|
PokerMemento - http://www.pokermemento.com/
|
|
![]() |
|
Oleg ![]() Admin Group ![]() Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
![]() ![]() ![]() ![]() ![]() |
Hi,
Thanks, indeed we didn't catch such scenario. I will add same fix code.
Thanks. |
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
![]() |
|
terrym ![]() Senior Member ![]() Joined: 13 April 2007 Status: Offline Points: 836 |
![]() ![]() ![]() ![]() ![]() |
Did this make fix for 13.2?
|
|
Thank you,
Terry Mancey email terry@tmancey.ltd.uk | linkedin www.tmancey.ltd.uk | twitter @tmancey |
|
![]() |
|
Oleg ![]() Admin Group ![]() Joined: 21 May 2003 Location: United States Status: Offline Points: 11234 |
![]() ![]() ![]() ![]() ![]() |
yes, sure.
|
|
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS |
|
![]() |
|
terrym ![]() Senior Member ![]() Joined: 13 April 2007 Status: Offline Points: 836 |
![]() ![]() ![]() ![]() ![]() |
Excellent
|
|
Thank you,
Terry Mancey email terry@tmancey.ltd.uk | linkedin www.tmancey.ltd.uk | twitter @tmancey |
|
![]() |
Post Reply ![]() |
|
Tweet
|
Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |