Zone fill display sometimes doesn't refresh

Bug #1820085 reported by Seth Hillbrand
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Low
Unassigned

Bug Description

This only happens when I edit a zone. Edit the zone parameters and click OK. The zone re-fills properly. Then, click on the screen, a progress bar pops up and the zone refills again but doesn't clear the copper islands from the display until I zoom in/out.

Attached video shows the behavior.

This behavior was introduced by 3692c511d0

Application: kicad
Version: (5.1.0-15-gaef0221d3b), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Platform: Linux 4.19.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.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.64.0
    Compiler: GCC 8.3.0 with C++ ABI 1013

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

Tags: pcbnew
Revision history for this message
Seth Hillbrand (sethh) wrote :
Revision history for this message
jean-pierre charras (jp-charras) wrote :

Hi Seth,

Could you send me your test board?
Thanks.

Revision history for this message
Seth Hillbrand (sethh) wrote :

Hi JP-

The board was a work in progress but it happened on all boards I tested. The issue seems masked by 353d9d7c9e36ded1941911507696735ea419a724. Now the second refill does not happen because (I think) the parameters are the same.

Interestingly, even if I do not alter the zone parameters, clicking OK still refills the zones once.

In the original, note that closing the zone window caused a progress window to flash up saying "Refill 4 Zones", while the second fill only said "Refill Zones"

Revision history for this message
Seth Hillbrand (sethh) wrote :

Board attached.

Revision history for this message
Seth Hillbrand (sethh) wrote :

I found a corollary to this that is still present. I attach an example board.

If you change the outline of the zone fill and deselect the zone, the copper will remain visible outside of the board. Also, it flashes on my screen.

Reverting to the commit prior to 3692c511d0 restores the correct behavior (no flashing, zone displays and updates properly)

Revision history for this message
Andrey Shmakov (akshmakov) wrote :

Hi Seth,

Appears to be solved, current master does not have this issue. I used your provided file

I compared

3692c511d0 (problem commit)
3fc681c (parent of problem commit)
and
2e8d930 (current HEAD)

See comparison and check on your system

Application: pcbnew
Version: 6.0.0-unknown, release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.4.0-142-generic 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.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

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

See comparison gif for previous behavior and today

-AKS

Revision history for this message
Andrey Shmakov (akshmakov) wrote :

Previous behavior for comparison (was able to replicate using provided commit)

Revision history for this message
Andrey Shmakov (akshmakov) wrote :

There appears to be an additional side effect, all though the zone refresh is fixed, moving a zone to a new location will not repour it until it is selected and a changed.

See attached for behavior. Same version as reported before.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

This appears to only be an issue when you move and/or rotate a zone. If we refill on changing the zone outline, we should probably refill when moving or rotating a zone as well.

Changed in kicad:
status: New → Triaged
importance: Undecided → Low
milestone: none → 5.1.3
tags: added: pcbnew
Jon Evans (craftyjon)
Changed in kicad:
assignee: nobody → Jon Evans (craftyjon)
Revision history for this message
Jon Evans (craftyjon) wrote :

I can't reproduce the behavior from Andrey's post #8 -- Wayne can you still reproduce it? Is it OS-dependent somehow?

What I see is the zone correctly refilling no matter what I do to it (drag points, move outline, rotate outline)

Application: Pcbnew
Version: (5.1.2-71-gfb80ee5a0), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.58.0 OpenSSL/1.1.0g zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-48-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
    Boost: 1.65.1
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.58.0
    Compiler: GCC 7.4.0 with C++ ABI 1011

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

Changed in kicad:
assignee: Jon Evans (craftyjon) → nobody
Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Jon, I still see this with 5.1.2-83-g356ccd031 on my laptop with ubuntu 18.04. Whenever I move or rotate a zone, it doesn't automatically refill but if I modify the shape of the zone it does refill just like comment #8.

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

See also the discussion on the dev list: https://lists.launchpad.net/kicad-developers/msg41394.html

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

For now we've removed the auto-fill on move/rotate/etc. We may later implement a setting that controls it.

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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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