Pads on inner layers are rendered incorrectly in the PCBnew 2D viewer, but are ok on Gerber and 3D viewer

Description

I have a footprint with one pad in an inner layer In2.Cu. This footprint has also a pad on F.Cu, but not on In1.Cu. When I place it in the PCB, it shows its outline but not the connection to it.

image

The two on the left have this footprint-via, whereas the one on the right has no footprint at all. The two on the left, one can see a tiny black line if you switch the display mode to show outline.

The Gerbers and the 3D viewer are ok.

Steps to reproduce

  1. Open the attached PCB powersupply-c.kicad_pcb.zip
  2. Go to coordinate X = 31 mm, Y = -92 mm
  3. Notice the missing pad area is missing there, on PGD.
  4. Switch to Show pad in outline mode and notice the black circle over the track.
  5. Switch to 3D viewer, Preferences, Display Options, disable Board Body and adhesives layers, and the pad looks to be there.

KiCad Version

Application: Pcbnew
Version: 5.1.5-52549c5~86~ubuntu18.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.58.0 OpenSSL/1.1.1 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-72-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.5.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
Edited by ferdymercury