git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57836
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
+ // How many units we iterate string forward at the end of loop?
+ // We need to keep track of this or risk going to negative
+ // with it-- operation.
+ unsigned int strPosIncrement = 1;
+
if ( tokenStart != 0xFFFFFF )
{
// Token is running
if ( tokenStart != 0xFFFFFF )
{
// Token is running
if ( (argFlags & wxPG_PROGRAMMATIC_VALUE) ||
!child->HasFlag(wxPG_PROP_DISABLED|wxPG_PROP_READONLY) )
{
if ( (argFlags & wxPG_PROGRAMMATIC_VALUE) ||
!child->HasFlag(wxPG_PROP_DISABLED|wxPG_PROP_READONLY) )
{
- bool stvRes = child->StringToValue( variant, token, propagatedFlags );
+ wxString childName = child->GetBaseName();
+
+ bool stvRes = child->StringToValue( variant, token,
+ propagatedFlags );
if ( stvRes || (variant != oldChildValue) )
{
if ( stvRes || (variant != oldChildValue) )
{
- if ( stvRes )
- changed = true;
+ variant.SetName(childName);
+ list.Append(variant);
+
+ changed = true;
- // Failed, becomes unspecified
- variant.MakeNull();
- changed = true;
- variant.SetName(child->GetBaseName());
- list.Append(variant);
-
curChild++;
if ( curChild >= iMax )
break;
curChild++;
if ( curChild >= iMax )
break;
tokenStart = pos;
if ( a == delimeter )
tokenStart = pos;
if ( a == delimeter )
+ it += strPosIncrement;
+
if ( it != text.end() )
{
a = *it;
if ( it != text.end() )
{
a = *it;
+
+ pos += strPosIncrement;