B2021-071: ROEditor – Change field name causes hang and crash

This commit is contained in:
Kathy Ruffing 2021-07-21 14:16:21 +00:00
parent 8899967a8e
commit ddbcf719d2

View File

@ -1796,6 +1796,7 @@ namespace RODBInterface
MyRecID = RecID; MyRecID = RecID;
string AccPageID = DBE.GetString(2); string AccPageID = DBE.GetString(2);
string Info = DBE.GetString(3); string Info = DBE.GetString(3);
Info = Info.Replace("&apos", "\'"); // B2021-071: crash when getting/saving field names
node.SetAttribute("HasChild", "True"); node.SetAttribute("HasChild", "True");
// Store data in the VlnXmlElement as a subgroup // Store data in the VlnXmlElement as a subgroup
@ -2458,6 +2459,7 @@ namespace RODBInterface
info = null; info = null;
DBE.ReaderClose(); DBE.ReaderClose();
DBE.CommandDispose(); DBE.CommandDispose();
if (info != null) info = info.Replace("\'", "&apos"); // B2021-071: crash when getting/saving field names
if (combofield == false) if (combofield == false)
{ {
tinfo1 = info.Replace(onameOpen, nnameOpen); tinfo1 = info.Replace(onameOpen, nnameOpen);
@ -2598,8 +2600,9 @@ namespace RODBInterface
// Update subelements too. // Update subelements too.
if (success == true) if (success == true)
success = RODB_UpdateFieldNames(topgroup, recid, oldname, newname, editlevel, false, StatMsgWindow, combofield); success = RODB_UpdateFieldNames(topgroup, recid, oldname, newname, editlevel, false, StatMsgWindow, combofield);
topgroup = (VlnXmlElement)topgroup.NextSibling; //topgroup = (VlnXmlElement)topgroup.NextSibling;
} }
topgroup = (VlnXmlElement)topgroup.NextSibling; // B2021-071: infinite loop (moved this from above loop
} }
StatMsgWindow.Dispose(); StatMsgWindow.Dispose();
} }