summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorJim Raykowski <raykowj@gmail.com>2020-08-13 19:04:07 -0800
committerJim Raykowski <raykowj@gmail.com>2020-08-16 10:15:39 +0200
commit8491657ade22b7bd9b5ed19ea5c58a0c3b5d9156 (patch)
tree0caa9d5ec5e589ac640d74bd65e19e3c44f794ee /sw
parent00456c90004b62e6775a4ca0c05875e05ed8f00d (diff)
assure pointer and position in OutlineContentVisibilityWin Set
won't cause crash. Change-Id: Ic1bb2a1754c1a5a837370c7bb91bf7356e14b6bb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100716 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx b/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx
index ffebaf3e3f00..2bbc55504e95 100644
--- a/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx
+++ b/sw/source/uibase/docvw/OutlineContentVisibilityWin.cxx
@@ -66,9 +66,14 @@ void SwOutlineContentVisibilityWin::Set()
const SwTextNode* pTextNode = pTextFrame->GetTextNodeFirst();
SwWrtShell& rSh = GetEditWin()->GetView().GetWrtShell();
const SwOutlineNodes& rOutlineNodes = rSh.GetNodes().GetOutLineNds();
- (void)rOutlineNodes.Seek_Entry(static_cast<SwNode*>(const_cast<SwTextNode*>(pTextNode)),
- &m_nOutlinePos);
- assert(m_nOutlinePos != SwOutlineNodes::npos);
+ if (!pTextNode
+ || !rOutlineNodes.Seek_Entry(static_cast<SwNode*>(const_cast<SwTextNode*>(pTextNode)),
+ &m_nOutlinePos)
+ || m_nOutlinePos == SwOutlineNodes::npos)
+ {
+ assert(false); // should never get here
+ return;
+ }
// don't set if no content and no subs with content
auto nPos = m_nOutlinePos;