[Libreoffice-commits] core.git: 2 commits - sw/source
Michael Stahl
mstahl at redhat.com
Fri Sep 29 20:19:14 UTC 2017
sw/source/uibase/utlui/content.cxx | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
New commits:
commit 13df3777e4b6ff7537692b396be67a5fd2b9b001
Author: Michael Stahl <mstahl at redhat.com>
Date: Fri Sep 29 22:03:25 2017 +0200
sw: SwContentTree: use the helper functions instead of manual checks
Change-Id: I93b40f5f5b493688b27747ba8ccb65097638e4e6
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index d78a08e2b5e8..c7df4cc80f9f 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -1449,7 +1449,7 @@ bool SwContentTree::Expand( SvTreeListEntry* pParent )
{
assert(!m_bIsRoot || dynamic_cast<SwTypeNumber*>(static_cast<SwTypeNumber*>(pParent->GetUserData())));
if (!m_bIsRoot
- || (static_cast<SwTypeNumber*>(pParent->GetUserData())->GetTypeId() == CTYPE_CTT && static_cast<SwContentType*>(pParent->GetUserData())->GetType() == ContentTypeId::OUTLINE)
+ || (lcl_IsContentType(pParent) && static_cast<SwContentType*>(pParent->GetUserData())->GetType() == ContentTypeId::OUTLINE)
|| (m_nRootType == ContentTypeId::OUTLINE))
{
if(lcl_IsContentType(pParent))
@@ -1508,7 +1508,7 @@ bool SwContentTree::Collapse( SvTreeListEntry* pParent )
{
assert(!m_bIsRoot || dynamic_cast<SwTypeNumber*>(static_cast<SwTypeNumber*>(pParent->GetUserData())));
if (!m_bIsRoot
- || (static_cast<SwTypeNumber*>(pParent->GetUserData())->GetTypeId() == CTYPE_CTT && static_cast<SwContentType*>(pParent->GetUserData())->GetType() == ContentTypeId::OUTLINE)
+ || (lcl_IsContentType(pParent) && static_cast<SwContentType*>(pParent->GetUserData())->GetType() == ContentTypeId::OUTLINE)
|| (m_nRootType == ContentTypeId::OUTLINE))
{
if(lcl_IsContentType(pParent))
@@ -2418,8 +2418,7 @@ void SwContentTree::ExecCommand(const OUString& rCmd, bool bOutlineWithChildren)
const auto nActLevel = static_cast<SwOutlineContent*>(
pCurrentEntry->GetUserData())->GetOutlineLevel();
pEntry = Next(pEntry);
- while (pEntry && CTYPE_CNT ==
- static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId())
+ while (pEntry && lcl_IsContent(pEntry))
{
assert(dynamic_cast<SwOutlineContent*>(static_cast<SwTypeNumber*>(pEntry->GetUserData())));
if (nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel())
@@ -2431,8 +2430,7 @@ void SwContentTree::ExecCommand(const OUString& rCmd, bool bOutlineWithChildren)
if (nDir == 1)
{
// If the last entry is to be moved we're done
- if (pEntry && CTYPE_CNT ==
- static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId())
+ if (pEntry && lcl_IsContent(pEntry))
{
// pEntry now points to the entry following the last
// selected entry.
@@ -2442,10 +2440,10 @@ void SwContentTree::ExecCommand(const OUString& rCmd, bool bOutlineWithChildren)
while (pEntry)
{
pEntry = Next(pEntry);
- assert(pEntry == nullptr || static_cast<SwTypeNumber*>(pEntry->GetUserData()));
+ assert(pEntry == nullptr || !lcl_IsContent(pEntry) || dynamic_cast<SwOutlineContent*>(static_cast<SwTypeNumber*>(pEntry->GetUserData())));
// nDest++ may only executed if pEntry != 0
if (pEntry && nDest++ &&
- (CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()
+ (!lcl_IsContent(pEntry)
|| nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()))
{
nDest--;
@@ -2467,9 +2465,9 @@ void SwContentTree::ExecCommand(const OUString& rCmd, bool bOutlineWithChildren)
{
nDest--;
pEntry = Prev(pEntry);
- assert(pEntry == nullptr || static_cast<SwTypeNumber*>(pEntry->GetUserData()));
+ assert(pEntry == nullptr || !lcl_IsContent(pEntry) || dynamic_cast<SwOutlineContent*>(static_cast<SwTypeNumber*>(pEntry->GetUserData())));
if (pEntry &&
- (CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()
+ (!lcl_IsContent(pEntry)
|| nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()))
{
break;
commit 8b2619177c16058ae9994d5e39f04a813bacd061
Author: Michael Stahl <mstahl at redhat.com>
Date: Fri Sep 29 21:37:25 2017 +0200
tdf#112732 sw: fix conditions in SwContentTree::ExecCommand()
It has to be checked first that it's a CTYPE_CNT because otherwise
it's not a SwOutlineContent.
The assertion also didn't match the actual requirement.
Change-Id: I7fc3a6410f5de1e6b4c18965fff9bd9700562ed1
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index 2c9301d212eb..d78a08e2b5e8 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -2442,11 +2442,11 @@ void SwContentTree::ExecCommand(const OUString& rCmd, bool bOutlineWithChildren)
while (pEntry)
{
pEntry = Next(pEntry);
- assert(pEntry == nullptr || dynamic_cast<SwOutlineContent*>(static_cast<SwTypeNumber*>(pEntry->GetUserData())));
+ assert(pEntry == nullptr || static_cast<SwTypeNumber*>(pEntry->GetUserData()));
// nDest++ may only executed if pEntry != 0
if (pEntry && nDest++ &&
- (nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel() ||
- CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()))
+ (CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()
+ || nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()))
{
nDest--;
break;
@@ -2467,10 +2467,10 @@ void SwContentTree::ExecCommand(const OUString& rCmd, bool bOutlineWithChildren)
{
nDest--;
pEntry = Prev(pEntry);
- assert(pEntry == nullptr || dynamic_cast<SwOutlineContent*>(static_cast<SwTypeNumber*>(pEntry->GetUserData())));
+ assert(pEntry == nullptr || static_cast<SwTypeNumber*>(pEntry->GetUserData()));
if (pEntry &&
- (nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel() ||
- CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()))
+ (CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()
+ || nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()))
{
break;
}
More information about the Libreoffice-commits
mailing list