fritzing / fritzing-app

Fritzing desktop application
http://fritzing.org
Other
3.98k stars 826 forks source link

Sticky status of components not properly reset by undo. #2118

Open davidperrenoud opened 10 years ago

davidperrenoud commented 10 years ago

From jerome.b...@gmail.com on July 15, 2012 06:52:40

  1. Start a design with 2 PCBs, set them sticky and put some components on both boards.
  2. Move PCB1 on top of PCB2. (Now, because the boards are sticky, if you move any of the boards, then all components that are on both boards move. That makes sense.)
  3. Undo the move. But, if you move PCB1, the components on PCB2 which used to also be on top on PCB1 (when both were at the same place), still move together with PCB1, although PCB1 is now at a separate place.

Workaround. After undoing the move, go to the inspector for PCB1, uncheck Sticky and check it again.

Rationale: I'm moving around an Arduino shield and another board to see if they match and play well together.

Original issue: http://code.google.com/p/fritzing/issues/detail?id=2118

davidperrenoud commented 10 years ago

From irasc...@gmail.com on July 18, 2012 22:17:38

Status: Accepted
Owner: irasc...@gmail.com

failiz commented 2 years ago

I can reproduce this in 0.9.9. Remove imported label.

KjellMorgenstern commented 2 years ago

So there are two observations:

Sticky PCBs can steal each other's components - ok, but undo restores this, and this would be quite some effort to fix a very rare (revertable and avoidable) edge case I think.

Sticky and Lock flags are not added to the undo history. - But should they?

I think we can just close this issue.

failiz commented 2 years ago

ezgif-5-861b32a7a8

I think that the dragging of the resistors after the control-Z (when the PCBs are already not touching) is a bug. As the reporter specifies, it could happen testing a PCB and its shield to check alignments. I guess low priority as it can be undone.

"Sticky and Lock flags are not added to the undo history. - But should they?" Mmm, I would say that they should. They are properties of the parts.

KjellMorgenstern commented 2 years ago

Could reproduce this as well - parts of PCB2 get moved together with PCB1 even after then undo. All of this is problematic. Moving the parts after the undoing is the most severe of those issues and must be fixed.