Comment 0 for bug 1830633

Revision history for this message
Dino Ghilardi (dino-ghilardi) wrote : eeschema hierarchical sheet copy-paste

Using copy-paste on a child sheet block to have two sheets coming from the same file creates an empty sheet, possibly loosing data.

To reproduce the bug:

1 Create a project
2 Create a new hierarchical sheet (using "Add a hierarchical sheet").
2.5 Put something inside it (components, connections, etc.)
3 Go back to the parent sheet.
4 use copy-paste to create a new hierarchical sheet. It has the same file reference (correct)
5 if you enter the new created sheet it is empty.
  if you save the schematic now you loose the old child sheet content. It seems it is overwritten by the new empty one having the same filename.

6: Workaround: If you edit the properties of the new block in the parent sheet (shortcut E or right-click->properties), do not change anything and confirm: a dialog asks for confirm, then the child sheet loads the correct schematic in it.

Quicker (more dangerous) way to reproduce the bug:
-Open a schematic (that has a backup somewhere) with some hierarchical sub-sheet
-copy-paste one of them
-save-->...data lost.

----------------------------------------------
Tested on revision db90e97d0beaeeb5f04b4e407d78108a897f1133
----------------------------------------------
Application: Eeschema
Version: (5.1.0-746-gdb90e97d0), debug build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.52.1 OpenSSL/1.0.2r 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.69.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=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