logisim-evolution
logisim-evolution copied to clipboard
Logisim-HolyCross appearance settings not saved
If you use a component from a library and assign it the Logisim-HolyCross appearance setting, the setting is not saved. When you close and reopen the master circuit, the component's appearance reverts back to Logisim-Evolution, messing up all the connections to/from the component.
Apparently, the subcircuit assumes the appearance assigned to it in the library. If you change the appearance to something else, that appearance will not be saved when the master circuit is closed and reopened; it reverts back to the subcircuit's original appearance.
This still seems like a bug, as the subcircuit's appearance should be able to be changed, the same as a component.
Your issue might be related to the still open issue #1379. Unfortunately, our time for Logisim-evolution is currently limited, as we first need to wrap up the spring term.
I discovered that the appearance you assign to a circuit is the appearance that "sticks" when you use it in a master circuit.
It would be better if you could change the appearance of a subcircuit in the master circuit, consistent with how a component works.
@prlaba: PR #1380 fixed the potentially related issue #1379. Could you please check whether this issue still is present in Logisim-evolution 3.8.0?
I am running a build from develop as of yesterday, and I can confirm that if a sub-circuit loaded as a library has its appearance changed in an instance within in a new design, the design is saved, and then the saved design is reloaded, the library instance reverts to the appearance as originally defined, not as the changed appearance. All connections are then broken.
@chuckb: Would you be able to provide a .circ
file as a starting point point + step for step instructions to reproduce the issue?
Circ file will not show the states. Steps to repro:
- Create new circ, call it childlib. Rename main to child.
- Add and gate. Hook up pins. Leave project appearance as Logisim-Evolution.
- Save project. Close project.
- Create new circ, call it parentlib. Rename main to parent.
- Import childlib project.
- Place child on parent.
- Change child appearance to classic.
- Hook up pins to child component.
- Save parent. Close logisim.
- Reopen logisim. Load parentlib.
- Child component appearance on parent circuit is incorrectly Logisim-Evolution (not classic) and pins are disconnected.
@chuckb: Thanks for these detailed steps to reproduce the issue!
@BFH-ktt1: I can confirm the bug!
I may have some time in the next few days to take a stab at fixing it...
I may have some time in the next few days to take a stab at fixing it...
@chuckb: That would be great!