Incorrect Gerber display when using Subtract soldermask from silkscreen (Cairo only)

Bug #1798464 reported by Cal-linux
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Unknown

Bug Description

Bug description:

When generating Gerber files with the option Subtract soldermask from silkscreen, the Gerber viewer displays incorrectly: the pads disappear if the silkscreen is being displayed above the copper (e.g., if F.SilkS is on Graphic layer 1 and F.Cu on Graphic layer 2). If we click on the copper layer to bring it to the front, then the pads show up again.

The bug seems to be specific to KiCAD 5.0.1 when using the Fallback Modern Toolset (with Accelerated, the buggy behaviour is not present).

To reproduce it:

- Create a new project (I called it kicad-2, under $HOME/tmp)
- Go straight to pcbnew (no schematic needed)
- Menu `Place → Footprint` --- place any randomly chosen SMT footprint (e.g., I selected LQFP-32_5x5mm_P0.5mm)
- Draw a trace between two randomly chosen pins (probably not necessary, but it makes it easier to notice the bug)
- Menu `File → Plot...` to create Gerbers; leave everything default except for checking the box `Subtract soldermask from silkscreen` (I didn't even create the drill file --- there are no holes on the board anyway)
- Open Gerber viewer; load silkscreen on Graphic layer 2, load F.Cu layer on Graphic layer 3 (I used 2 and 3 because my color configuration was done for silks on layer 2 and top copper on layer 3)

Click on Graphic layer 2, and the pads disappear. Click on Graphic layer 3, and the pads do show.

For a more detailed description and some screenshots showing the buggy behaviour, see https://forum.kicad.info/t/gerber-viewer-not-displaying-correctly/13144/6

Environment:

KiCAD 5.0.1 on Ubuntu 18.04. Version info:

Application: gerbview
Version: 5.0.1-33cea8e~66~ubuntu18.04.1, release 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-36-generic 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.65.1
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.58.0
    Compiler: GCC 7.3.0 with C++ ABI 1011

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=ON

Tags: gal gerbview
Changed in kicad:
milestone: none → 5.0.2
Jeff Young (jeyjey)
summary: Incorrect Gerber display when using Subtract soldermask from silkscreen
+ (Cairo only)
tags: added: gal gerbview
Revision history for this message
jean-pierre charras (jp-charras) wrote :

Negative objects are incorrectly shown in Cairo canvas (they are drawn on top of other items).

This is a known bug.
What is unknown is the way to fix it.

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

If we cannot fix this in Cairo, should the status of this bug report be wont fix since there is no can't fix?

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

Perhaps "Triaged" is better.
"wont fix" looks like we do not want to fix it, but this is not the case.

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

I like "won't fix" better. "Triaged" will show up in searches and reduce the signal-to-noise ratio, making it less likely that bugs that can be fixed will be found and dealt with.

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

Let's push it to 6 and see if we can come up with a solution.

Changed in kicad:
milestone: 5.0.2 → 6.0.0-rc1
Seth Hillbrand (sethh)
Changed in kicad:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

KiCad bug tracker has moved to Gitlab. This report is now available here: https://gitlab.com/kicad/code/kicad/-/issues/1863

Changed in kicad:
status: Triaged → Expired
Changed in kicad:
importance: Low → Unknown
status: Expired → 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.