While poking at function keys in response to the earlier thread about, uh, function keys. I stumbled on a crash caused by switching to the default canvas from the default canvas. I was only able to to repro this when I performed the switch (whether by menu or key) immediately after startup, before switching away from the default canvas. I’m not sure when this showed up or if it is specific to OS X.
To repro:
1. Start kicad
2. Launch pcbnew
3. Select View->Switch canvas to default (or F9)
* thread #1: tid = 0x8fd8c0, 0x000000010d4eddb4 _pcbnew.kiface`VECTOR2<double>::VECTOR2(this=0x00007fff5fbfd3e0, aPoint=0x0000000000000a70) + 20 at vector2d.h:263, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xa70)
* frame #0: 0x000000010d4eddb4 _pcbnew.kiface`VECTOR2<double>::VECTOR2(this=0x00007fff5fbfd3e0, aPoint=0x0000000000000a70) + 20 at vector2d.h:263
frame #1: 0x000000010d4ed66d _pcbnew.kiface`VECTOR2<double>::VECTOR2(this=0x00007fff5fbfd3e0, aPoint=0x0000000000000a70) + 29 at vector2d.h:265
frame #2: 0x000000010d823bac _pcbnew.kiface`PCBNEW_CONTROL::Reset(this=0x0000000110539d00, aReason=GAL_SWITCH) + 108 at pcbnew_control.cpp:70
frame #3: 0x000000010e01128b _pcbnew.kiface`TOOL_MANAGER::ResetTools(this=0x0000000110527ae0, aReason=GAL_SWITCH) + 1179 at tool_manager.cpp:433
frame #4: 0x000000010d445d86 _pcbnew.kiface`PCB_EDIT_FRAME::UseGalCanvas(this=0x0000000102061400, aEnable=false) + 214 at pcbframe.cpp:674
frame #5: 0x000000010d4424f1 _pcbnew.kiface`PCB_EDIT_FRAME::SwitchCanvas(this=0x0000000102061400, aEvent=0x00007fff5fbfdd88) + 273 at pcbframe.cpp:708
frame #6: 0x0000000101409a1b libwx_baseu-3.0.0.dylib`wxAppConsoleBase::HandleEvent(this=0x0000000101f22a50, handler=0x0000000102061400, func=0x000000010d4423e0, event=0x00007fff5fbfdd88)(wxEvent&), wxEvent&) const + 139 at appbase.cpp:611
frame #7: 0x0000000101409ac7 libwx_baseu-3.0.0.dylib`wxAppConsoleBase::CallEventHandler(this=0x0000000101f22a50, handler=0x0000000102061400, functor=0x0000000101e2c480, event=0x00007fff5fbfdd88) const + 151 at appbase.cpp:623
frame #8: 0x0000000101576267 libwx_baseu-3.0.0.dylib`wxEvtHandler::ProcessEventIfMatchesId(entry=0x000000010eed9cd0, handler=0x0000000102061400, event=0x00007fff5fbfdd88) + 231 at event.cpp:1397
frame #9: 0x0000000101576043 libwx_baseu-3.0.0.dylib`wxEventHashTable::HandleEvent(this=0x000000010eed94c0, event=0x00007fff5fbfdd88, self=0x0000000102061400) + 243 at event.cpp:1003
frame #10: 0x0000000101577df6 libwx_baseu-3.0.0.dylib`wxEvtHandler::TryHereOnly(this=0x0000000102061400, event=0x00007fff5fbfdd88) + 134 at event.cpp:1594
frame #11: 0x000000010157921d libwx_baseu-3.0.0.dylib`wxEvtHandler::TryBeforeAndHere(this=0x0000000102061400, event=0x00007fff5fbfdd88) + 77 at event.h:3680
frame #12: 0x0000000101577b19 libwx_baseu-3.0.0.dylib`wxEvtHandler::ProcessEvent(this=0x0000000102061400, event=0x00007fff5fbfdd88) + 313 at event.cpp:1496
frame #13: 0x000000010df79aad _pcbnew.kiface`EDA_BASE_FRAME::ProcessEvent(this=0x0000000102061400, aEvent=0x00007fff5fbfdd88) + 45 at basicframe.cpp:164
<snip>