[Libreoffice-commits] core.git: svtools/source
Efe Gürkan YALAMAN
efeyalaman at gmail.com
Mon Dec 30 17:11:33 PST 2013
svtools/source/contnr/treelistbox.cxx | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
New commits:
commit d6f9ddb0aaa3fd9e3877f94a3147c68dd64bc77e
Author: Efe Gürkan YALAMAN <efeyalaman at gmail.com>
Date: Tue Dec 17 01:45:13 2013 +0200
fdo#70465 SvTreeListBox::GetLevelChildCount refactored
Instead of iterating siblings returning count of parents child vector.
This slightly improves loading performance of "Expert Config" when accessibility enabled.
Change-Id: Ide1af3df19efaae9c0cc92086456bf3520ee5dd2
Reviewed-on: https://gerrit.libreoffice.org/7106
Reviewed-by: Kohei Yoshida <libreoffice at kohei.us>
Tested-by: Kohei Yoshida <libreoffice at kohei.us>
diff --git a/svtools/source/contnr/treelistbox.cxx b/svtools/source/contnr/treelistbox.cxx
index 1602cd3..d1ec6dc 100644
--- a/svtools/source/contnr/treelistbox.cxx
+++ b/svtools/source/contnr/treelistbox.cxx
@@ -937,15 +937,16 @@ sal_uLong SvTreeListBox::GetLevelChildCount( SvTreeListEntry* _pParent ) const
{
DBG_CHKTHIS(SvTreeListBox,0);
- sal_uLong nCount = 0;
+ //if _pParent is 0, then pEntry is the first child of the root.
SvTreeListEntry* pEntry = FirstChild( _pParent );
- while ( pEntry )
- {
- ++nCount;
- pEntry = NextSibling( pEntry );
- }
- return nCount;
+ if( !pEntry )//there is only root, root don't have children
+ return 0;
+
+ if( !_pParent )//root and children of root
+ return pEntry->pParent->maChildren.size();
+
+ return _pParent->maChildren.size();
}
SvViewDataEntry* SvTreeListBox::GetViewDataEntry( SvTreeListEntry* pEntry ) const
More information about the Libreoffice-commits
mailing list