In wxPropertyGrid::DoPropertyChanged(), call GetEditorControl() as late as possible so that editor can be changed in wxPGProperty::OnSetValue() (fixes #11987)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -3266,7 +3266,6 @@ bool wxPropertyGrid::DoPropertyChanged( wxPGProperty* p, unsigned int selFlags )
|
|||||||
if ( m_inDoPropertyChanged )
|
if ( m_inDoPropertyChanged )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
wxWindow* editor = GetEditorControl();
|
|
||||||
wxPGProperty* selected = GetSelection();
|
wxPGProperty* selected = GetSelection();
|
||||||
|
|
||||||
m_pState->m_anyModified = 1;
|
m_pState->m_anyModified = 1;
|
||||||
@@ -3290,6 +3289,10 @@ bool wxPropertyGrid::DoPropertyChanged( wxPGProperty* p, unsigned int selFlags )
|
|||||||
|
|
||||||
changedProperty->SetValue(value, &m_chgInfo_valueList, wxPG_SETVAL_BY_USER);
|
changedProperty->SetValue(value, &m_chgInfo_valueList, wxPG_SETVAL_BY_USER);
|
||||||
|
|
||||||
|
// NB: Call GetEditorControl() as late as possible, because OnSetValue()
|
||||||
|
// and perhaps other user-defined virtual functions may change it.
|
||||||
|
wxWindow* editor = GetEditorControl();
|
||||||
|
|
||||||
// Set as Modified (not if dragging just began)
|
// Set as Modified (not if dragging just began)
|
||||||
if ( !(p->m_flags & wxPG_PROP_MODIFIED) )
|
if ( !(p->m_flags & wxPG_PROP_MODIFIED) )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user