summaryrefslogtreecommitdiff
path: root/sw/source/core/layout/wsfrm.cxx
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2018-11-09 12:50:04 +0100
committerMichael Stahl <Michael.Stahl@cib.de>2018-11-15 15:10:08 +0100
commitc7d42c0341de16cdeb4a28c6b9c2e6c68c8b1892 (patch)
treec865f0488e4361d4b17d71a7028704b3f52449aa /sw/source/core/layout/wsfrm.cxx
parentf30c45f52f7df3c463886b1674917ee681290fee (diff)
sw_redlinehide_3: update fields in UnHideRedlines
Repainting is not enough, values require up-to-date outline visibility etc. Change-Id: I85d99fc65a071279c2d4656a52ff82ed3b2db7d8
Diffstat (limited to 'sw/source/core/layout/wsfrm.cxx')
-rw-r--r--sw/source/core/layout/wsfrm.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx
index eb8a0fa12368..914df003d2b1 100644
--- a/sw/source/core/layout/wsfrm.cxx
+++ b/sw/source/core/layout/wsfrm.cxx
@@ -4504,6 +4504,19 @@ void SwRootFrame::SetHideRedlines(bool const bHideRedlines)
pFootnote->InvalidateNumberInLayout();
}
}
+ // update various fields to re-expand them with the new layout
+ IDocumentFieldsAccess & rIDFA(rDoc.getIDocumentFieldsAccess());
+ auto const pAuthType(rIDFA.GetFieldType(
+ SwFieldIds::TableOfAuthorities, OUString(), false));
+ if (pAuthType) // created on demand...
+ { // calling DelSequenceArray() should be unnecessary here since the
+ // sequence doesn't depend on frames
+ pAuthType->UpdateFields();
+ }
+ rIDFA.GetFieldType(SwFieldIds::RefPageGet, OUString(), false)->UpdateFields();
+ rIDFA.GetSysFieldType(SwFieldIds::Chapter)->UpdateFields();
+ rIDFA.UpdateExpFields(nullptr, false);
+ rIDFA.UpdateRefFields();
// InvalidateAllContent(SwInvalidateFlags::Size); // ??? TODO what to invalidate? this is the big hammer
}