WxString does not allocate space for wide strings needed during
conversion unless the string is explicitly wide. This can cause buffer
over/underflow
Fixes https://gitlab.com/kicad/code/kicad/issues/10605
(cherry picked from commit 7601a3385f)
This is particularly important when reading legacy projects as 0 is
what signals the painter to use the old algorithm (1/2 pin name/number
size).
Fixes https://gitlab.com/kicad/code/kicad/issues/10100
When migrating local settings, we don't want to remove files that we
converted from as these settings will be created on demand and don't
represent the totality of user settings
Fixes https://gitlab.com/kicad/code/kicad/issues/9905
Also removes the message bar display of assigned netclass for
buses and bus-to-bus entries.
Also fixes a bug where assigning a netclass via the canvas only
looked at the first level of bus members (and not any nested
members).
Also fixes a bug where the bus name validator tried to validate
a vector bus first -- which doesn't work as a vector bus may be
nested in a group bus.
Also fixes a bug where we were failing to check for illegal
chars in bus definitions which otherwise passed the bus parsers.
See additional comments in the bug report.
Fixes https://gitlab.com/kicad/code/kicad/issues/9160
Also reduces line-wrapping a bit.
I don't think this fixes the linked bug, but I can't reproduce it
and this was found while reviewing the code.
Fixes https://gitlab.com/kicad/code/kicad/issues/8810
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
ZIP archives may have entries that are only directories. We should not
try to extract this entries (they have no length); instead, we merely
create the path and continue
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming