Pcbnew: all submenus trigger assertion
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Fix Committed
|
Medium
|
Unassigned |
Bug Description
Attempting to open any submenu in Pcbnew triggers the assertion shown in the attached screen shot. Dismissing the dialog with the "Show this dialog next time" unchecked does not allow the submenu to function properly. They close immediately which makes them impossible to select. This may only affect GTK builds. I have also attached the stack trace from the wxWidgets assertion dialog. This does not happen in Eeschema.
Application: Pcbnew
Version: (5.1.0-
Libraries:
wxWidgets 3.0.4
libcurl/7.65.1 OpenSSL/1.1.1c zlib/1.2.11 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.37.0 librtmp/2.3
Platform: Linux 4.19.0-5-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,
Boost: 1.67.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.65.1
Compiler: Clang 7.0.1 with C++ ABI 1002
Build settings:
KICAD_
KICAD_
KICAD_
KICAD_
KICAD_
KICAD_
BUILD_
KICAD_
KICAD_
KICAD_SPICE=ON
KICAD_
KICAD_
KICAD_
ASSERT INFO:
../src/
BACKTRACE:
[1] g_closure_invoke
[2] g_signal_
[3] g_signal_emit
[4] gtk_menu_
[5] gtk_menu_popdown
[6] g_closure_invoke
[7] g_signal_
[8] g_signal_
[9] g_cclosure_
[10] g_signal_
[11] g_signal_emit
[12] gtk_container_
[13] g_object_
[14] wxMenu::~wxMenu()
[15] wxMenuBarBase:
[16] wxMenuBar:
[17] wxEvtHandler:
[18] wxEventHashTabl
[19] wxEvtHandler:
[20] wxEvtHandler:
[21] wxEvtHandler:
[22] wxEvtHandler:
[23] wxWindowBase:
[24] wxFrame:
[25] wxAppBase:
[26] wxApp::DoIdle()
[27] g_main_
[28] g_main_loop_run
[29] gtk_main
[30] wxGUIEventLoop:
[31] wxEventLoopBase
[32] wxAppConsoleBas
[33] APP_KICAD::OnRun() /home/wayne/
[34] wxEntry(int&, wchar_t**)
[35] main /home/wayne/
[36] __libc_start_main
[37] _start
tags: | added: pcbnew ui |
Changed in kicad: | |
status: | Triaged → Fix Committed |
@Wayne, could you merge out and try this again?
That's pretty poor form for GTK to be processing idle events when a menu is pulled down, but if that's what's happening the code I checked in *may* fix the assert.