2019-05-27 15:40:18 |
Dino Ghilardi |
description |
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 |
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 (not correct, it should be the same as the copied sheet).
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 |
|