diff options
author | Jim Raykowski <raykowj@gmail.com> | 2020-08-13 19:04:07 -0800 |
---|---|---|
committer | Jim Raykowski <raykowj@gmail.com> | 2020-08-16 10:15:39 +0200 |
commit | 8491657ade22b7bd9b5ed19ea5c58a0c3b5d9156 (patch) | |
tree | 0caa9d5ec5e589ac640d74bd65e19e3c44f794ee /sw | |
parent | 00456c90004b62e6775a4ca0c05875e05ed8f00d (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.cxx | 11 |
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; |