fixed LoadPanel (created two instances previously and returned the wrong one)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8448 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -36,7 +36,16 @@ wxPanelXmlHandler::wxPanelXmlHandler() : wxXmlResourceHandler()
|
||||
|
||||
wxObject *wxPanelXmlHandler::DoCreateResource()
|
||||
{
|
||||
wxPanel *panel = new wxPanel(m_ParentAsWindow,
|
||||
wxPanel *panel = wxDynamicCast(m_Instance, wxPanel);
|
||||
|
||||
if (panel == NULL)
|
||||
panel = new wxPanel(m_ParentAsWindow,
|
||||
GetID(),
|
||||
GetPosition(), GetSize(),
|
||||
GetStyle(_T("style"), 0),
|
||||
GetName());
|
||||
else
|
||||
panel->Create(m_ParentAsWindow,
|
||||
GetID(),
|
||||
GetPosition(), GetSize(),
|
||||
GetStyle(_T("style"), 0),
|
||||
|
@@ -167,10 +167,7 @@ bool wxXmlResource::LoadDialog(wxDialog *dlg, wxWindow *parent, const wxString&
|
||||
|
||||
wxPanel *wxXmlResource::LoadPanel(wxWindow *parent, const wxString& name)
|
||||
{
|
||||
wxPanel *panel = new wxPanel;
|
||||
if (!LoadPanel(panel, parent, name))
|
||||
{ delete panel; return NULL; }
|
||||
else return panel;
|
||||
return (wxPanel*)CreateResFromNode(FindResource(name, wxT("panel")), parent, NULL);
|
||||
}
|
||||
|
||||
bool wxXmlResource::LoadPanel(wxPanel *panel, wxWindow *parent, const wxString& name)
|
||||
|
Reference in New Issue
Block a user