Eeschema: Right click menu is closed instantly

Bug #1798453 reported by Fabián Inostroza on 2018-10-17
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
High
Maciej Suminski

Bug Description

The only way to access one of the menu options is to keep the right mouse button pressed.

Application: kicad
Version: (6.0.0-rc1-dev-937-gc22a247db-dirty), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.0 GnuTLS/3.5.19 zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.4) libssh2/1.8.0 nghttp2/1.32.0 librtmp/2.3
Platform: Linux 4.18.0-2-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.62.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.0
    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_WXPYTHON=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=OFF

Tomasz Wlostowski (twlostow) wrote :

Can't reproduce here. Does this happen for all R-click menus or for a particular one? Did you try switching the window manager?

Tom

Changed in kicad:
status: New → Incomplete

Hi Tom,

Just in eeschema, it worked fine until the switch to the GAL. The right click menu works fine in all other applications (except in the footprint library browser launched from eeschema, where it isn't shown at all).

I've just tried in GNOME shell with the default wm (wmctrl -m shows "GNOME shell" as wm).

John Beard (john-j-beard) wrote :

I think I can see this: it happens if the mouse moves during right-click:

* Move mouse to canvas
* Right click and hold: menu appears at click location
* Move mouse, menu remains in place during move
* Release: menu disappears. If the mouse was over a menu item, it is activated, if not, nothing happens.

This is probably easier to do accidentally on sensitive mouses, and even a tiny or brief move in step 3 is enough.

John Beard (john-j-beard) wrote :

In Pcbnew, you don't get the menu until R-mouse-up, and a right-drag doesn't invoke it.

John Beard (john-j-beard) wrote :

Presumably this is it in sch_draw_panel.cpp:314

    if( event.RightDown() )
    {
        OnRightClick( event );
        return;
    }

Which just always fires the event on any right down event (as there's no proper tool dispatcher in eeschema yet).

In eeschema and pcbnew *in legacy mode* the menu does that same thing, but doesn't vanish on mouse up.

Hi John,

I doubt it is because a mouse movement during right click, I tested with a touchpad that has separate buttons and it still happens.

On a Windows setup works fine.

I've changed the code John mentions to

if( event.RightUp() )

and it works fine, I don't know if this has any side effect though.

Seth Hillbrand (sethh) wrote :

Side effect would be that it ignores the mouse-down so you cannot hold down the right mouse button, move to the menu item and release to select

Seth Hillbrand (sethh) on 2018-10-19
Changed in kicad:
status: Incomplete → Triaged
importance: Undecided → High
milestone: none → 5.1.0
Seth Hillbrand (sethh) wrote :

I can see this in GTK3 but not GTK2. @Fabían, does this still happen for you?

Hi Seth, I'm using GTK2 and it still happen, I will compile a GTK3 version to test.

Application: kicad
Version: (6.0.0-rc1-dev-1113-ga55950bd6), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.0 GnuTLS/3.5.19 zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.34.0 librtmp/2.3
Platform: Linux 4.18.0-2-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.62.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.0
    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=OFF
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=OFF

Seth Hillbrand (sethh) wrote :

Does it still happen for you with the current GTK2 build?

@Seth, as I wrote in my previous comment yes, it still happens with build from master using gtk2.

I just finished compiling using gtk3 and the issue is also there.

Application: kicad
Version: (6.0.0-rc1-dev-1113-ga55950bd6), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.0 GnuTLS/3.5.19 zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.34.0 librtmp/2.3
Platform: Linux 4.18.0-2-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.62.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.0
    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=OFF

I've tried a build from master using gtk2 in debian stretch running MATE desktop and the issue is also there.

Application: kicad
Version: (6.0.0-rc1-dev-1127-g569d4a0f6), release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.52.1 GnuTLS/3.5.8 zlib/1.2.8 libidn2/0.16 libpsl/0.17.0 (+libidn2/0.16) libssh2/1.7.0 nghttp2/1.18.1 librtmp/2.3
Platform: Linux 4.9.0-8-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.62.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.52.1
    Compiler: GCC 6.3.0 with C++ ABI 1010

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=OFF
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=OFF

Changed in kicad:
assignee: nobody → Maciej Suminski (orsonmmz)
Maciej Suminski (orsonmmz) wrote :

Fixed in d6bc402f

Frank Severinsen (shack) wrote :

Hi @Orson

As Seth mentioned above, your fix kills the "right click menu, select on release".
Could the issue perhaps be fixed in another way which keeps the quick right click menu?

Maciej Suminski (orsonmmz) wrote :

Frank,

I am afraid it is not possible or involves dirty, platform specific hacks. Right click context menu works the same way in pcbnew. I suppose instantly disappearing menu is more irritating than lack of select-on-release.

Fabian,

Apologies, I have not noticed your remark in post #7 - I should have attributed the patch to you.

@Maciej, I don't care. Thanks!

Changed in kicad:
status: Triaged → Fix Committed
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers