diff options
author | Michael Stahl <mstahl@redhat.com> | 2016-01-08 16:02:43 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-01-08 20:31:47 +0100 |
commit | 774fb6d2e7cf36b677e66c54278225b1256bd40f (patch) | |
tree | a5bad6d37736b5f37656f87874e975e88cdc2ea2 /include/xmloff | |
parent | 79bbc5b910259c2c0efc71329501767e97513584 (diff) |
tdf#96480: ODF import: eliminate duplicate cross reference heading bookmarks
7c3c3006deaaaf1bb3f2f4eeeaf11da3bcebe53c is apparently worse than it
appeared at first glance since there are numerous assumptions about
bookmarks, such as that if they were inserted successfully they may be
copied successfully, which isn't the case for duplicate cross reference
bookmarks.
So fix this differently, by eliminating the duplicates and mapping all
reference fields to refer to the surviving bookmark.
It was not possible to do this in SwXBookmark by checking the makeMark()
return as that would raise interesting problems such as it's currently
guaranteed to have 1:1 SwXBoomarks to core Marks so we can't just
connect 2 SwXBookmarks to the same core Mark, and we also can't leave
the SwXBookmark unconnected after attach.
Another alternative would be to temporarily allow inserting the
duplicate bookmarks and then eliminate them after the import, but what
is implemented now is to check from xmloff for duplicates, which is
reasonably simple.
Change-Id: I7ee4854d1c9d8bf74201089cbb7287b1bd8ee3b9
Diffstat (limited to 'include/xmloff')
-rw-r--r-- | include/xmloff/txtimp.hxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/xmloff/txtimp.hxx b/include/xmloff/txtimp.hxx index 6d9239f352ea..d91e3d0152dc 100644 --- a/include/xmloff/txtimp.hxx +++ b/include/xmloff/txtimp.hxx @@ -713,6 +713,9 @@ public: void SetCellParaStyleDefault(OUString const& rNewValue); OUString const& GetCellParaStyleDefault(); + + void AddCrossRefHeadingMapping(OUString const& rFrom, OUString const& rTo); + void MapCrossRefHeadingFieldsHorribly(); }; #endif |