From 7c0eac050ea7cd3e7fc453adb82f143d075e9ca0 Mon Sep 17 00:00:00 2001 From: Artur Wieczorek Date: Sat, 13 Oct 2018 11:37:27 +0200 Subject: [PATCH] Use dedicated function to obtain highest level parent of the just changed property --- src/propgrid/propgrid.cpp | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/propgrid/propgrid.cpp b/src/propgrid/propgrid.cpp index 3b1acf5eff..1fa1201b27 100644 --- a/src/propgrid/propgrid.cpp +++ b/src/propgrid/propgrid.cpp @@ -3368,14 +3368,6 @@ bool wxPropertyGrid::DoPropertyChanged( wxPGProperty* p, unsigned int selFlags ) // If property's value is being changed, assume it is valid OnValidationFailureReset(selected); - wxPGProperty* topPaintedProperty = changedProperty; - - while ( !topPaintedProperty->IsCategory() && - !topPaintedProperty->IsRoot() ) - { - topPaintedProperty = topPaintedProperty->GetParent(); - } - changedProperty->SetValue(value, &m_chgInfo_valueList, wxPG_SETVAL_BY_USER); // NB: Call GetEditorControl() as late as possible, because OnSetValue() @@ -3393,10 +3385,9 @@ bool wxPropertyGrid::DoPropertyChanged( wxPGProperty* p, unsigned int selFlags ) } } - wxPGProperty* pwc; - // Propagate updates to parent(s) - pwc = p; + wxPGProperty* topPaintedProperty = changedProperty->GetMainParent(); + wxPGProperty* pwc = p; wxPGProperty* prevPwc = NULL; while ( prevPwc != topPaintedProperty )