I would be reluctant to get behind this just because of the possibility of epic string breakage on lot's of levels. If there was some way to piece meal this transition, it might be more palatable but that may prove to be very difficult.
The need to use threads, is less clear. It may be far less problematic to start the netlist rebuild during idle time and break out of the netlist loop use wxApp::Yield() and mark it as incomplete when a user event that requires attention is generated. I know this is somewhat less elegant than threads but it does resolve the wxString issue. On 4/3/2019 9:35 AM, Jeff Young wrote: > Jon is currently fighting another wxString multi-threading issue. Having > done quite a few of these myself, I feel for him. > > A lot of them were threaded accesses to globals, so it was easy enough to > make the globals std::strings. However, this one is EDA_TEXT’s m_Text field. > That’s going to be a pretty big change to move to std::string. And it’s > nearly impossible to compartmentalise because returning a const& isn’t really > const (iterating over the string will modify the linked-list of iterators, > which is where the trouble comes in). > > What about moving Kicad to UTF16 internally? (The linked list of iterators > is a performance optimisation specifically for UTF8 builds.) > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : [email protected] > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp

