summaryrefslogtreecommitdiff
path: root/sw/source/core/inc/bookmrk.hxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2017-09-27 15:55:43 +0200
committerAndras Timar <andras.timar@collabora.com>2017-09-30 12:16:52 +0200
commitfb741b48a4d11c1f91702a73ef600c7df976a298 (patch)
tree3359e5c553d6c332afa4f04a7ee24336ecbc35b6 /sw/source/core/inc/bookmrk.hxx
parent149f28e9a5d66db18ffb36547b2ba394c303fc4d (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.hxx8
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;