svtools/source/contnr/treelistbox.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
New commits: commit d6f9ddb0aaa3fd9e3877f94a3147c68dd64bc77e Author: Efe Gürkan YALAMAN <efeyala...@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 <libreoff...@kohei.us> Tested-by: Kohei Yoshida <libreoff...@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
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits