git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65666
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
+// 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.
wxPGWindowList wxPGSpinCtrlEditor::CreateControls( wxPropertyGrid* propgrid, wxPGProperty* property,
const wxPoint& pos, const wxSize& sz ) const
// Create controls and initialize event handling.
wxPGWindowList wxPGSpinCtrlEditor::CreateControls( wxPropertyGrid* propgrid, wxPGProperty* property,
const wxPoint& pos, const wxSize& sz ) const
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;
+}
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
-wxPGChoiceEditor::~wxPGChoiceEditor() { }
+wxPGChoiceEditor::~wxPGChoiceEditor()
+{
+ wxPG_EDITOR(Choice) = NULL;
+}
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
-wxPGComboBoxEditor::~wxPGComboBoxEditor() { }
+wxPGComboBoxEditor::~wxPGComboBoxEditor()
+{
+ wxPG_EDITOR(ComboBox) = NULL;
+}
+
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
-wxPGChoiceAndButtonEditor::~wxPGChoiceAndButtonEditor() { }
-
+wxPGChoiceAndButtonEditor::~wxPGChoiceAndButtonEditor()
+{
+ wxPG_EDITOR(ChoiceAndButton) = NULL;
+}
// -----------------------------------------------------------------------
// wxPGTextCtrlAndButtonEditor
// -----------------------------------------------------------------------
// wxPGTextCtrlAndButtonEditor
-wxPGTextCtrlAndButtonEditor::~wxPGTextCtrlAndButtonEditor() { }
-
+wxPGTextCtrlAndButtonEditor::~wxPGTextCtrlAndButtonEditor()
+{
+ wxPG_EDITOR(TextCtrlAndButton) = NULL;
+}
// -----------------------------------------------------------------------
// wxPGCheckBoxEditor
// -----------------------------------------------------------------------
// wxPGCheckBoxEditor
-wxPGCheckBoxEditor::~wxPGCheckBoxEditor() { }
-
+wxPGCheckBoxEditor::~wxPGCheckBoxEditor()
+{
+ wxPG_EDITOR(CheckBox) = NULL;
+}
#endif // wxPG_INCLUDE_CHECKBOX
#endif // wxPG_INCLUDE_CHECKBOX
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;
}