Pcbnew crashes when changing value visibility
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Released
|
Medium
|
Marco Serantoni |
Bug Description
Pcbnew on OSX will reliably crash when changing the visibility of a module's value or reference via the popup menu.
To reproduce:
- Create a new board
- Place one module, e.g. SIL-10
- Switch back to the arrow tool
- Right-click on either the "SIL-10" text or the "Val**" text which is displayed next to the module
- Navigate to the submenu for the reference/value and select Edit
- Change the visibility to Invisible
- Click OK
Pcbnew will crash at this point.
It does not crash if you doubleclick on the module, then navigate through the dialog to change the visibility of the reference/value that way.
OSX 10.6, x86_64
Prebuilt pcbnew binary, (2013-mar-
I have attached the output of Apple's crash reporter which includes a stack trace. The proximate cause of the crash is an exception, "Unlocking Focus on wrong view (<wxNSView: 0x101652740>), expected <wxNSButton: 0x116748570>".
Changed in kicad: | |
status: | New → Confirmed |
assignee: | nobody → Marco Serantoni (marco-serantoni) |
Changed in kicad: | |
importance: | Undecided → Medium |
Changed in kicad: | |
status: | Fix Committed → Fix Released |
The issue is well know, and is due the interaction between wxwidgets and kicad's code.
http:// trac.wxwidgets. org/ticket/ 14389
The wx-wigdget's view in the words of one of the main maintainer is:
"this is not really supported, actually if possible wxClientDCs should not be used anymore unless for measuring, everything else should be done in a EVT_PAINT handler, and if you really need wxClientDCs for tight updates in a loop, really keep them tight with no event handling interfering "
Hoping in a new GAL and/or an implementation of the drawing code with a wxGraphicsContext, that could help to a smoothest transition.
Anyway, I'll take a look soon in a deeper way.