b185
I added an error trap in the Info Pane code that looks for page numbers so that it change the mouse pointer to a hand over them. A user reported an issue that seemed to be caused by this, and I don’t know why. This trap will avoid crashing GCA in that circumstance, but the pointer won’t get changed to a hand if the error trap is triggered.
I added a new option to never even try changing the pointer to a hand over page numbers.
It’s possible to input illegal (control) characters into various fields in GCA. I’ve created a routine to strip those out during field validation, and I’m integrating it into the data entry fields. There are a lot of those, so I’ve focused on the ones most likely to recieve pasted text. Note that I can’t sanitize RTF boxes the same way, as the RTF control automatically escapes those special characters, so they’ll still be there in some form but hopefully shouldn’t break anything. (These places should be getting cleaned data now: Edit Traits, Advanced Edit, Edit Modes, Add Tag, Gen Info Box, Appearance, Campaign Log.)
I’ve added a check to the AddChild routine of GCATrait, which double checks that the child being added doesn’t have a key matching the parent it’s being asked to be added to. This should never actually be possible through normal operation, but could potentially happen if someone manually edits things in a save file or otherwise alters data externally. So this check should discard the AddChild operation. *NOTE* that this check being triggered likely means other data in the program will be broken!