archimatetool / archi

Archi: ArchiMate Modelling Tool
https://www.archimatetool.com
MIT License
966 stars 269 forks source link

Undoing connection deletion messes its routing #734

Closed lvmm closed 3 years ago

lvmm commented 3 years ago

Version of Archi

4.8.1

Archi Plug-ins

no

Operating System

windows 10

Steps to Reproduce the Behaviour

prerequisites: manual connection router

  1. Create two application components.
  2. Create two flow connections between them: one A to B, another one B to A. Archi automatically angles the second connection for better visibility - so far so good. archi-undo-bug-1
  3. Delete straight connection, angled connection remains angled. archi-undo-bug-2
  4. Undo connection deletion.

Actual Behaviour

Deleted connection is restored as angled and merges with the second connection. archi-undo-bug-3

Expected Behaviour

Two issues here: first, undo should restore things exactly as they were and definitely shouldn't make diagram unreadable. Second, it may be a good idea to straighten the angled connection after step 3 because it was automatically angled so it won't merge with the connection we just deleted.

Phillipus commented 3 years ago

This is a glitch in the Eclipse GEF/Draw2d frameworks and has always been like this. Unfortunately, this is not something I can fix.

A workaround is to move one of the objects and move it back again, or close the View and re-open it, or move the connections so they are like this:

image

Phillipus commented 3 years ago

I'll close this as it's not something I can fix. If anyone cares to look deep into the Eclipse/GEF code to try to fix, please do.