src/plugins/contrib/wxSmithAui/wxAuiManager/wxsAuiManager.cpp | 11 +++++++----
src/plugins/contrib/wxSmithAui/wxAuiToolBar/wxsAuiToolBar.cpp | 4 +++-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/src/plugins/contrib/wxSmithAui/wxAuiManager/wxsAuiManager.cpp b/src/plugins/contrib/wxSmithAui/wxAuiManager/wxsAuiManager.cpp
index bbd3d967..3b9bfcbb 100644
--- a/src/plugins/contrib/wxSmithAui/wxAuiManager/wxsAuiManager.cpp
+++ b/src/plugins/contrib/wxSmithAui/wxAuiManager/wxsAuiManager.cpp
@@ -640,14 +640,15 @@ bool wxsAuiManager::OnCanAddToParent(wxsParent* Parent,bool ShowMessage)
wxMessageBox(_("wxAuiManager can't be added to a sizer. Add panels first."));
return false;
}
-
- if ( !wxDynamicCast(Parent->BuildPreview(new wxFrame(0,-1,wxEmptyString),0),wxWindow) )
+ wxFrame * tempFrame = new wxFrame(0,-1,wxEmptyString);
+ if ( !wxDynamicCast(Parent->BuildPreview(tempFrame,0),wxWindow) )
{
if ( ShowMessage )
wxMessageBox(_("wxAuiManager can only be added to a wxWindow descendant."));
+ tempFrame->Destroy();
return false;
}
-
+ tempFrame->Destroy();
return wxsParent::OnCanAddToParent(Parent,ShowMessage);
}
@@ -665,7 +666,8 @@ void wxsAuiManager::OnAddChildQPP(wxsItem* Child,wxsAdvQPP* QPP)
if ( ChildExtra->m_FirstAdd )
{
ChildExtra->m_FirstAdd = false;
- if ( wxDynamicCast(Child->BuildPreview(new wxFrame(0,-1,wxEmptyString),0),wxAuiToolBar) )
+ wxFrame * tempFrame = new wxFrame(0,-1,wxEmptyString);
+ if ( wxDynamicCast(Child->BuildPreview(tempFrame,0),wxAuiToolBar) )
{
ChildExtra->m_StandardPane = wxsAuiPaneInfoExtra::ToolbarPane;
ChildExtra->m_DockableFlags = wxsAuiDockableProperty::Dockable;
@@ -680,6 +682,7 @@ void wxsAuiManager::OnAddChildQPP(wxsItem* Child,wxsAdvQPP* QPP)
if ( ChildExtra->m_Layer == 0 ) ChildExtra->m_Layer = 10;
NotifyPropertyChange();
}
+ tempFrame->Destroy();
}
}
diff --git a/src/plugins/contrib/wxSmithAui/wxAuiToolBar/wxsAuiToolBar.cpp b/src/plugins/contrib/wxSmithAui/wxAuiToolBar/wxsAuiToolBar.cpp
index 66b67edc..7f0f8eff 100644
--- a/src/plugins/contrib/wxSmithAui/wxAuiToolBar/wxsAuiToolBar.cpp
+++ b/src/plugins/contrib/wxSmithAui/wxAuiToolBar/wxsAuiToolBar.cpp
@@ -126,7 +126,9 @@ wxsAuiToolBar::~wxsAuiToolBar()
bool wxsAuiToolBar::OnCanAddChild(wxsItem* Item,bool ShowMessage)
{
- bool IsControl = wxDynamicCast(Item->BuildPreview(new wxFrame(0,-1,wxEmptyString),0),wxControl);
+ wxFrame * tempFrame = new wxFrame(0,-1,wxEmptyString);
+ bool IsControl = wxDynamicCast(Item->BuildPreview(tempFrame,0),wxControl);
+ tempFrame->Destroy();
bool IsAuiToolBarItem = Item->GetClassName().Contains(_T("wxAuiToolBar"));
if ( !IsControl && !IsAuiToolBarItem )
{
This is the full patch. OK to commit to trunk?