diff options
author | Michael Stahl <mstahl@redhat.com> | 2017-09-27 15:55:43 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2017-09-30 12:16:52 +0200 |
commit | fb741b48a4d11c1f91702a73ef600c7df976a298 (patch) | |
tree | 3359e5c553d6c332afa4f04a7ee24336ecbc35b6 /sw/source/core/inc/bookmrk.hxx | |
parent | 149f28e9a5d66db18ffb36547b2ba394c303fc4d (diff) |
tdf#112679 sw: fix copying of fieldmarks
Aha, now we know that the reason for the defensive programming
in lcl_AssureFieldMarksSet() was that there are actually 2
different use-cases for it: usually a new mark is inserted,
so there are no dummy characters and they must be inserted.
However when copying text, the dummy characters are copied too,
so they must not be inserted, or we get duplicate fieldmarks.
This also reverts commit d4036d3a89b65a4912f62e3930eb1a31cd90a16b
which fixed the problem only for CHECKBOX_FIELDMARK in a
different way.
(regression from bb069fe7b8b6a24f9ff4df4c7052961e17ea3a8c)
(cherry picked from commit 421a23bb36bbf51edfabc58b7d2cd28ad37719d0)
Silence --disable-assert-always-abort warnings
(cherry picked from commit 7e76b983301b02dd7020636905b764b981b1fff0)
loplugin:constparams
(cherry picked from commit 14e2a82002042a3fe4d8866b635ee84a436a7a7c)
Change-Id: I3c99b8c6d720951655198e682018794337859373
Reviewed-on: https://gerrit.libreoffice.org/42868
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sw/source/core/inc/bookmrk.hxx')
-rw-r--r-- | sw/source/core/inc/bookmrk.hxx | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sw/source/core/inc/bookmrk.hxx b/sw/source/core/inc/bookmrk.hxx index 6e1866002f0f..42323e1f6222 100644 --- a/sw/source/core/inc/bookmrk.hxx +++ b/sw/source/core/inc/bookmrk.hxx @@ -95,7 +95,7 @@ namespace sw { m_pPos1.swap(m_pPos2); } - virtual void InitDoc(SwDoc* const) + virtual void InitDoc(SwDoc* const, sw::mark::InsertMode) { } @@ -163,7 +163,7 @@ namespace sw { const vcl::KeyCode& rCode, const OUString& rName, const OUString& rShortName); - virtual void InitDoc(SwDoc* const io_Doc) override; + virtual void InitDoc(SwDoc* const io_Doc, sw::mark::InsertMode eMode) override; virtual void DeregisterFromDoc(SwDoc* const io_pDoc) override; @@ -231,7 +231,7 @@ namespace sw { { public: TextFieldmark(const SwPaM& rPaM); - virtual void InitDoc(SwDoc* const io_pDoc) override; + virtual void InitDoc(SwDoc* const io_pDoc, sw::mark::InsertMode eMode) override; virtual void ReleaseDoc(SwDoc* const pDoc) override; }; @@ -241,7 +241,7 @@ namespace sw { { public: CheckboxFieldmark(const SwPaM& rPaM); - virtual void InitDoc(SwDoc* const io_pDoc) override; + virtual void InitDoc(SwDoc* const io_pDoc, sw::mark::InsertMode eMode) override; virtual void ReleaseDoc(SwDoc* const pDoc) override; bool IsChecked() const override; void SetChecked(bool checked) override; |