https://issues.apache.org/ooo/show_bug.cgi?id=123412

            Bug ID: 123412
        Issue Type: DEFECT
           Summary: GluePoint EscapeDirections get lost at save/reload
           Product: Impress
           Version: 4.0.1
          Hardware: All
                OS: All
            Status: CONFIRMED
          Severity: normal
          Priority: P3
         Component: editing
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]

ALG: GluePoints have EscapeDirections; these are editable in the UI and are
or-ed together from left/right/top/bottom to define all allowed escape
directions for a connector using the gluepoint. This gets lost when:

- new draw
- add rectangle
- activate gluepoint mode (ckick on the 'tube' icon in the drawing toolbar, the
gluepoint toolbar appears)
- add new gluepoint
- select 'exit direction left' and 'exit direction top'
- save
- reload
- select object
- activate gluepoint mode
- select GluePoint
-> exit direction left' and 'exit direction top' are lost

This happens because there is a basic msiunderstanding error in the UNO API for
this; the com::sun::star::drawing::EscapeDirection only supports single
directions, not a combination of those, except 'HORIZONTAL' and 'VERTICAL'. As
a result this is also handled wrong in ODF im/export.

This means:
- the com::sun::star::drawing::EscapeDirection definition has to be changed
- its usage in com::sun::star::drawing::GluePoint2 has to be adapted
- the UNO API implementation has to be adapted
- the ODF im/export has to be adapted

Since the 1st two points mean an incompatible UNO API change, probably
EscapeDirection2 and GluePoint3 definitions would be needed. Since the exchange
of these data is using a type-free container::XIndexContainer and
container::XIdentifierContainer API it is not clear how this can be done
compatible at all.

If someone knows, please add advice to this task.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are watching all bug changes.

Reply via email to