git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64120 
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
     if ( m_inDoPropertyChanged )
         return true;
 
     if ( m_inDoPropertyChanged )
         return true;
 
-    wxWindow* editor = GetEditorControl();
     wxPGProperty* selected = GetSelection();
 
     m_pState->m_anyModified = 1;
     wxPGProperty* selected = GetSelection();
 
     m_pState->m_anyModified = 1;
 
     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)
     if ( !(p->m_flags & wxPG_PROP_MODIFIED) )
     {
     // Set as Modified (not if dragging just began)
     if ( !(p->m_flags & wxPG_PROP_MODIFIED) )
     {