moved assert for parent window not being a static box to common code where it should catch more cases
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
#include "wx/control.h"
|
||||
#include "wx/checkbox.h"
|
||||
#include "wx/radiobut.h"
|
||||
#include "wx/statbox.h"
|
||||
#include "wx/textctrl.h"
|
||||
#include "wx/settings.h"
|
||||
#include "wx/dialog.h"
|
||||
@@ -203,6 +204,17 @@ bool wxWindowBase::CreateBase(wxWindowBase *parent,
|
||||
// when a new ctor is added which doesn't call InitWindow)
|
||||
wxASSERT_MSG( m_isWindow, wxT("Init() must have been called before!") );
|
||||
|
||||
#if wxUSE_STATBOX
|
||||
// wxGTK doesn't allow to create controls with static box as the parent so
|
||||
// this will result in a crash when the program is ported to wxGTK so warn
|
||||
// the user about it
|
||||
|
||||
// if you get this assert, the correct solution is to create the controls
|
||||
// as siblings of the static box
|
||||
wxASSERT_MSG( !parent || !wxDynamicCast(parent, wxStaticBox),
|
||||
_T("wxStaticBox can't be used as a window parent!") );
|
||||
#endif // wxUSE_STATBOX
|
||||
|
||||
// generate a new id if the user doesn't care about it
|
||||
m_windowId = id == -1 ? NewControlId() : id;
|
||||
|
||||
|
@@ -394,17 +394,6 @@ bool wxWindowMSW::Create(wxWindow *parent,
|
||||
{
|
||||
wxCHECK_MSG( parent, FALSE, wxT("can't create wxWindow without parent") );
|
||||
|
||||
#if wxUSE_STATBOX
|
||||
// wxGTK doesn't allow to create controls with static box as the parent so
|
||||
// this will result in a crash when the program is ported to wxGTK - warn
|
||||
// about it
|
||||
//
|
||||
// the correct solution is to create the controls as siblings of the
|
||||
// static box
|
||||
wxASSERT_MSG( !wxDynamicCast(parent, wxStaticBox),
|
||||
_T("wxStaticBox can't be used as a window parent!") );
|
||||
#endif // wxUSE_STATBOX
|
||||
|
||||
if ( !CreateBase(parent, id, pos, size, style, wxDefaultValidator, name) )
|
||||
return FALSE;
|
||||
|
||||
|
Reference in New Issue
Block a user