@Jeff, I just had a dive into the wxWidgets code and am curious if you tried something. It looks like we should be able to set the static variable wxApp::s_macPreferencesMenuItemId to wxID_NONE and it won't move the item. Did you give that a go?
I think all we would need to do is a conditional compilation for mac of this code somewhere in the beginning of the program initialization:
wxApp::s_macPreferencesMenuItemId = wxID_NONE;
I have added this call inside the conditional compilation for Mac in PGM_BASE::InitPgm in the attached patch. Can you back out the patch to local wxWidgets and then apply this one to the KiCad source to see if this fixes the issue? If it does, this would be preferable since it doesn't rely on a patched version of wxWidgets, and it shouldn't break the other platforms.
@Jeff, I just had a dive into the wxWidgets code and am curious if you tried something. It looks like we should be able to set the static variable wxApp:: s_macPreference sMenuItemId to wxID_NONE and it won't move the item. Did you give that a go?
I think all we would need to do is a conditional compilation for mac of this code somewhere in the beginning of the program initialization: s_macPreference sMenuItemId = wxID_NONE;
wxApp::
I have added this call inside the conditional compilation for Mac in PGM_BASE::InitPgm in the attached patch. Can you back out the patch to local wxWidgets and then apply this one to the KiCad source to see if this fixes the issue? If it does, this would be preferable since it doesn't rely on a patched version of wxWidgets, and it shouldn't break the other platforms.