]> git.saurik.com Git - wxWidgets.git/commitdiff
In wxPropertyGrid::DoPropertyChanged(), call GetEditorControl() as late as possible...
authorJaakko Salli <jaakko.salli@dnainternet.net>
Sat, 24 Apr 2010 10:02:25 +0000 (10:02 +0000)
committerJaakko Salli <jaakko.salli@dnainternet.net>
Sat, 24 Apr 2010 10:02:25 +0000 (10:02 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/propgrid/propgrid.cpp

index e98e86097cd35ba115e5825a0bcb43a6b72b7876..413443ad04aca9a1554e46910c3c104b2bc03d80 100644 (file)
@@ -3266,7 +3266,6 @@ bool wxPropertyGrid::DoPropertyChanged( wxPGProperty* p, unsigned int selFlags )
     if ( m_inDoPropertyChanged )
         return true;
 
-    wxWindow* editor = GetEditorControl();
     wxPGProperty* selected = GetSelection();
 
     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);
 
+    // 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) )
     {