diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2018-11-09 12:50:04 +0100 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2018-11-15 15:10:08 +0100 |
commit | c7d42c0341de16cdeb4a28c6b9c2e6c68c8b1892 (patch) | |
tree | c865f0488e4361d4b17d71a7028704b3f52449aa | |
parent | f30c45f52f7df3c463886b1674917ee681290fee (diff) |
sw_redlinehide_3: update fields in UnHideRedlines
Repainting is not enough, values require up-to-date outline visibility
etc.
Change-Id: I85d99fc65a071279c2d4656a52ff82ed3b2db7d8
-rw-r--r-- | sw/source/core/layout/wsfrm.cxx | 13 |
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 } |