Main menu entries "Edit", "View", "Place" are not showing up (Windows 10)

Bug #1829640 reported by Robert
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Committed
High
Jeff Young

Bug Description

Starting with revision 13087 (48fb78418) the main menu entries "Edit", "View" and "Place" are empty on Windows 10. This happens in EEschema as well as in PCBNew. It works as expected when I downgrade to revision 13060 (2aea26de1). The bug does not occur on Linux Mint 19.1.

Application: KiCad
Version: (5.1.0-587-g48fb78418), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Tags: ui
Revision history for this message
Robert (jonnykorn) wrote :
Revision history for this message
eelik (eelik) wrote :

Jeff, was the commit 13aa5036146442 supposed to fix this? There wasn't "fixes" message in that commit. Unfortunately the latest available nightly is older than that for some reason.

Revision history for this message
jean-pierre charras (jp-charras) wrote :

Note also it happens in Gerbview, view menu, even on wxWidgets 3.1.1 in latest versions.

Changed in kicad:
importance: Undecided → High
milestone: none → 6.0.0-rc1
tags: added: ui
Revision history for this message
jean-pierre charras (jp-charras) wrote :

I just pushed the fix for Gerbview on wxWidgets 3.1.1 (missing code)

Revision history for this message
Jeff Young (jeyjey) wrote :

@eelik, there was no "fixes" because it was more of a test (based on a hunch) than a "fix". I don't have a Windows machine so I'm not entirely sure what's going wrong.

JP's fix just brings GerbView up to snuff with the other apps. It doesn't have a direct bearing on the wxWidgets 3.0.4 issue.

Revision history for this message
Jeff Young (jeyjey) wrote :

@JP, did you have a chance to test my experiment (commit 13aa5036146442) on MSW w/ wxWidgets 3.0.4?

Revision history for this message
jean-pierre charras (jp-charras) wrote :

@Jeff,
Yes I did.

But it does not fix the wxWidgets 3.0.4 issue.

However it is useful, because the dummy menu is shown, instead of nothing.

Looks like the EVT_MENU_OPEN is not fired.

Revision history for this message
Jeff Young (jeyjey) wrote :

Hmm... could you put a breakpoint at line 436 of wxWidgets/src/msw/toplevel.cpp and see if it gets there?

On my version line 436 is the middle one here:

        case WM_INITMENUPOPUP:
            processed = HandleMenuPopup(wxEVT_MENU_OPEN, (WXHMENU)wParam);
            break;

Revision history for this message
Jeff Young (jeyjey) wrote :

The good news (such as it is) is that this would appear to be the same bug that prevents the selection disambiguation menu highlighting from working on Windows....

Revision history for this message
jean-pierre charras (jp-charras) wrote :

@Jeff,

Yes you are right, disambiguation menu highlighting and this one are the same issue in wxWidgets 3.0.x.
Attached a *very ugly* hack that fixes these issues for Pcbnew and Gerbview

(Because eeschema frames does not handle the wxMenuEvent, it does not fix the eeschema issue).

This is *only* a ugly hack, for testing purposes that cannot be committed "as this".

Because I am not very familiar with the MENU_ACTION code, I'll let you (or any guy who has abetter knowledge of this code) fix the current code, unless you want me to fix this issue.

Revision history for this message
Jeff Young (jeyjey) wrote :

Excellent work, JP! I was considering an even worse hack of a similar nature but intercepting EVT_UPDATE_UI events.

I've simplified it a bit and hooked it up to both base frames. For now I've left the conditional compilation part out so that all platforms will work the same way to widen the testing. We can decide later whether to make it wxWindows-3.0.x-MSW-only or not.

If you could give it a test spin when you get a chance that would be great.

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision f21faceb7463ac413ee6d875cf90629cc2d4e555
https://git.launchpad.net/kicad/patch/?id=f21faceb7463ac413ee6d875cf90629cc2d4e555

Changed in kicad:
status: New → Fix Committed
assignee: nobody → Jeff Young (jeyjey)
Revision history for this message
eelik (eelik) wrote :

By chance the latest win 32-bit nightly build includes this commit althought the 64-bit doesn't, so I tested with 32-bit. Everything seems to work, including item highlighting in pcbnew in selection clarification menu and DRC marker list. Brilliant.

Revision history for this message
Jeff Young (jeyjey) wrote :

Yeah, in hindsight this was actually worth all the trouble to finally fix the selection clarification & DRC marker highlighting bugs.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.