X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/618a5e382af2e469f9cc9d2aa81114403637a4b3..06acc7d9a6cf41c4f80230773cc0bdd2c95cec28:/src/common/resource.cpp?ds=sidebyside diff --git a/src/common/resource.cpp b/src/common/resource.cpp index 7a268e719f..63151ab13b 100644 --- a/src/common/resource.cpp +++ b/src/common/resource.cpp @@ -49,11 +49,11 @@ #include "wx/statbmp.h" #include "wx/gauge.h" #include "wx/textctrl.h" -#include "wx/treebase.h" #include "wx/msgdlg.h" #include "wx/intl.h" #endif +#include "wx/treebase.h" #include "wx/listctrl.h" #if wxUSE_RADIOBTN @@ -3145,27 +3145,31 @@ bool wxWindowBase::LoadFromResource(wxWindow *parent, const wxString& resourceNa int height = resource->GetHeight(); wxString name = resource->GetName(); - if (IsKindOf(CLASSINFO(wxDialog))) + // this is used for loading wxWizard pages from WXR + if ( parent != this ) { - wxDialog *dialogBox = (wxDialog *)this; - long modalStyle = isModal ? wxDIALOG_MODAL : 0; - if (!dialogBox->Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), theWindowStyle|modalStyle, name)) - return FALSE; + if (IsKindOf(CLASSINFO(wxDialog))) + { + wxDialog *dialogBox = (wxDialog *)this; + long modalStyle = isModal ? wxDIALOG_MODAL : 0; + if (!dialogBox->Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), theWindowStyle|modalStyle, name)) + return FALSE; - // Only reset the client size if we know we're not going to do it again below. - if ((resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS) == 0) - dialogBox->SetClientSize(width, height); - } - else if (IsKindOf(CLASSINFO(wxPanel))) - { - wxPanel* panel = (wxPanel *)this; - if (!panel->Create(parent, -1, wxPoint(x, y), wxSize(width, height), theWindowStyle | wxTAB_TRAVERSAL, name)) - return FALSE; - } - else - { - if (!((wxWindow *)this)->Create(parent, -1, wxPoint(x, y), wxSize(width, height), theWindowStyle, name)) - return FALSE; + // Only reset the client size if we know we're not going to do it again below. + if ((resource->GetResourceStyle() & wxRESOURCE_DIALOG_UNITS) == 0) + dialogBox->SetClientSize(width, height); + } + else if (IsKindOf(CLASSINFO(wxPanel))) + { + wxPanel* panel = (wxPanel *)this; + if (!panel->Create(parent, -1, wxPoint(x, y), wxSize(width, height), theWindowStyle | wxTAB_TRAVERSAL, name)) + return FALSE; + } + else + { + if (!((wxWindow *)this)->Create(parent, -1, wxPoint(x, y), wxSize(width, height), theWindowStyle, name)) + return FALSE; + } } if ((resource->GetResourceStyle() & wxRESOURCE_USE_DEFAULTS) != 0)