RegisterAdditionalEditors() to work even if no wxPropertyGrids created, in sample moved editor registration before first CreateGrid() call to prevent crash, removed wxPG_USE_WXMODULE support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55953 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -138,17 +138,8 @@ const wxChar *wxPropertyGridNameStr = wxT("wxPropertyGrid");
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// Statics in one class for easy destruction.
|
||||
// NB: We prefer to use wxModule, as it offers more consistent behavior
|
||||
// across platforms. However, for those rare problem situations, we
|
||||
// also need to offer option to use simpler approach.
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
#ifndef wxPG_USE_WXMODULE
|
||||
#define wxPG_USE_WXMODULE 1
|
||||
#endif
|
||||
|
||||
#if wxPG_USE_WXMODULE
|
||||
|
||||
#include <wx/module.h>
|
||||
|
||||
class wxPGGlobalVarsClassManager : public wxModule
|
||||
@@ -162,19 +153,6 @@ public:
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxPGGlobalVarsClassManager, wxModule)
|
||||
|
||||
#else // !wxPG_USE_WXMODULE
|
||||
|
||||
class wxPGGlobalVarsClassManager
|
||||
{
|
||||
public:
|
||||
wxPGGlobalVarsClassManager() {}
|
||||
~wxPGGlobalVarsClassManager() { delete wxPGGlobalVars; }
|
||||
};
|
||||
|
||||
static wxPGGlobalVarsClassManager gs_pgGlobalVarsClassManager;
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
wxPGGlobalVarsClass* wxPGGlobalVars = (wxPGGlobalVarsClass*) NULL;
|
||||
|
||||
@@ -249,6 +227,10 @@ wxPGGlobalVarsClass::~wxPGGlobalVarsClass()
|
||||
delete wxPGProperty::sm_wxPG_LABEL;
|
||||
}
|
||||
|
||||
void wxPropertyGridInitGlobalsIfNeeded()
|
||||
{
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
// wxPGBrush
|
||||
// -----------------------------------------------------------------------
|
||||
@@ -567,14 +549,9 @@ bool wxPropertyGrid::Create( wxWindow *parent,
|
||||
//
|
||||
void wxPropertyGrid::Init1()
|
||||
{
|
||||
#if !wxPG_USE_WXMODULE
|
||||
if ( !wxPGGlobalVars )
|
||||
wxPGGlobalVars = new wxPGGlobalVarsClass();
|
||||
#endif
|
||||
|
||||
// Register editor classes, if necessary.
|
||||
if ( wxPGGlobalVars->m_mapEditorClasses.empty() )
|
||||
RegisterDefaultEditors();
|
||||
wxPropertyGrid::RegisterDefaultEditors();
|
||||
|
||||
m_iFlags = 0;
|
||||
m_pState = (wxPropertyGridPageState*) NULL;
|
||||
|
Reference in New Issue
Block a user