Reset wxPGEditor singleton instance pointers in dtors. This is useful if wxPropertyGrid is being accessed from an external main loop.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65666 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -240,12 +240,12 @@ WX_PG_IMPLEMENT_INTERNAL_EDITOR_CLASS(SpinCtrl,
|
|||||||
wxPGEditor)
|
wxPGEditor)
|
||||||
|
|
||||||
|
|
||||||
// Trivial destructor.
|
// Destructor. It is useful to reset the global pointer in it.
|
||||||
wxPGSpinCtrlEditor::~wxPGSpinCtrlEditor()
|
wxPGSpinCtrlEditor::~wxPGSpinCtrlEditor()
|
||||||
{
|
{
|
||||||
|
wxPG_EDITOR(SpinCtrl) = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Create controls and initialize event handling.
|
// Create controls and initialize event handling.
|
||||||
wxPGWindowList wxPGSpinCtrlEditor::CreateControls( wxPropertyGrid* propgrid, wxPGProperty* property,
|
wxPGWindowList wxPGSpinCtrlEditor::CreateControls( wxPropertyGrid* propgrid, wxPGProperty* property,
|
||||||
const wxPoint& pos, const wxSize& sz ) const
|
const wxPoint& pos, const wxSize& sz ) const
|
||||||
|
@@ -507,7 +507,12 @@ void wxPGTextCtrlEditor::OnFocus( wxPGProperty* property,
|
|||||||
wxPGTextCtrlEditor_OnFocus(property, tc);
|
wxPGTextCtrlEditor_OnFocus(property, tc);
|
||||||
}
|
}
|
||||||
|
|
||||||
wxPGTextCtrlEditor::~wxPGTextCtrlEditor() { }
|
wxPGTextCtrlEditor::~wxPGTextCtrlEditor()
|
||||||
|
{
|
||||||
|
// Reset the global pointer. Useful when wxPropertyGrid is accessed
|
||||||
|
// from an external main loop.
|
||||||
|
wxPG_EDITOR(TextCtrl) = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
@@ -1216,7 +1221,10 @@ bool wxPGChoiceEditor::CanContainCustomImage() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPGChoiceEditor::~wxPGChoiceEditor() { }
|
wxPGChoiceEditor::~wxPGChoiceEditor()
|
||||||
|
{
|
||||||
|
wxPG_EDITOR(Choice) = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
@@ -1300,7 +1308,11 @@ void wxPGComboBoxEditor::OnFocus( wxPGProperty* property,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPGComboBoxEditor::~wxPGComboBoxEditor() { }
|
wxPGComboBoxEditor::~wxPGComboBoxEditor()
|
||||||
|
{
|
||||||
|
wxPG_EDITOR(ComboBox) = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
@@ -1352,8 +1364,10 @@ wxPGWindowList wxPGChoiceAndButtonEditor::CreateControls( wxPropertyGrid* propGr
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPGChoiceAndButtonEditor::~wxPGChoiceAndButtonEditor() { }
|
wxPGChoiceAndButtonEditor::~wxPGChoiceAndButtonEditor()
|
||||||
|
{
|
||||||
|
wxPG_EDITOR(ChoiceAndButton) = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
// wxPGTextCtrlAndButtonEditor
|
// wxPGTextCtrlAndButtonEditor
|
||||||
@@ -1377,8 +1391,10 @@ wxPGWindowList wxPGTextCtrlAndButtonEditor::CreateControls( wxPropertyGrid* prop
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPGTextCtrlAndButtonEditor::~wxPGTextCtrlAndButtonEditor() { }
|
wxPGTextCtrlAndButtonEditor::~wxPGTextCtrlAndButtonEditor()
|
||||||
|
{
|
||||||
|
wxPG_EDITOR(TextCtrlAndButton) = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
// wxPGCheckBoxEditor
|
// wxPGCheckBoxEditor
|
||||||
@@ -1708,8 +1724,10 @@ void wxPGCheckBoxEditor::SetValueToUnspecified( wxPGProperty* WXUNUSED(property)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
wxPGCheckBoxEditor::~wxPGCheckBoxEditor() { }
|
wxPGCheckBoxEditor::~wxPGCheckBoxEditor()
|
||||||
|
{
|
||||||
|
wxPG_EDITOR(CheckBox) = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxPG_INCLUDE_CHECKBOX
|
#endif // wxPG_INCLUDE_CHECKBOX
|
||||||
|
|
||||||
|
@@ -235,6 +235,10 @@ wxPGGlobalVarsClass::~wxPGGlobalVarsClass()
|
|||||||
delete ((wxPGEditor*)vt_it->second);
|
delete ((wxPGEditor*)vt_it->second);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Make sure the global pointers have been reset
|
||||||
|
wxASSERT(wxPG_EDITOR(TextCtrl) == NULL);
|
||||||
|
wxASSERT(wxPG_EDITOR(ChoiceAndButton) == NULL);
|
||||||
|
|
||||||
delete wxPGProperty::sm_wxPG_LABEL;
|
delete wxPGProperty::sm_wxPG_LABEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user