[Libreoffice-commits] core.git: Branch 'aoo/trunk' - svtools/inc svtools/source

Tsutomu Uchino hanya at apache.org
Tue Mar 24 11:08:48 PDT 2015


 svtools/inc/svtools/treelist.hxx   |    4 +--
 svtools/source/contnr/svtreebx.cxx |   44 ++++++++++++++++++-------------------
 2 files changed, 24 insertions(+), 24 deletions(-)

New commits:
commit 2d382b750bec3f12df851da49c61268be0712c39
Author: Tsutomu Uchino <hanya at apache.org>
Date:   Tue Mar 24 17:05:34 2015 +0000

    #i125147# check the pointer while get accessible state set

diff --git a/svtools/inc/svtools/treelist.hxx b/svtools/inc/svtools/treelist.hxx
index 8ca9b9d..3aaf412 100644
--- a/svtools/inc/svtools/treelist.hxx
+++ b/svtools/inc/svtools/treelist.hxx
@@ -411,14 +411,14 @@ inline sal_Bool SvListView::IsSelected( SvListEntry* pEntry ) const
     DBG_ASSERT(pEntry,"IsExpanded:No Entry");
     SvViewData* pData = (SvViewData*)aDataTable.Get( (sal_uLong)pEntry );
     DBG_ASSERT(pData,"Entry not in Table");
-    return pData->IsSelected();
+    return pData && pData->IsSelected();
 }
 inline sal_Bool SvListView::HasEntryFocus( SvListEntry* pEntry ) const
 {
     DBG_ASSERT(pEntry,"IsExpanded:No Entry");
     SvViewData* pData = (SvViewData*)aDataTable.Get( (sal_uLong)pEntry );
     DBG_ASSERT(pData,"Entry not in Table");
-    return pData->HasFocus();
+    return pData && pData->HasFocus();
 }
 inline void SvListView::SetEntryFocus( SvListEntry* pEntry, sal_Bool bFocus ) const
 {
diff --git a/svtools/source/contnr/svtreebx.cxx b/svtools/source/contnr/svtreebx.cxx
index 72c8df3..99eb3ad 100644
--- a/svtools/source/contnr/svtreebx.cxx
+++ b/svtools/source/contnr/svtreebx.cxx
@@ -2757,29 +2757,29 @@ void SvTreeListBox::FillAccessibleEntryStateSet( SvLBoxEntry* pEntry, ::utl::Acc
 {
     DBG_ASSERT( pEntry, "SvTreeListBox::FillAccessibleEntryStateSet: invalid entry" );
 
-    if ( pEntry->HasChildsOnDemand() || pEntry->HasChilds() )
-    {
-        rStateSet.AddState( AccessibleStateType::EXPANDABLE );
-        if ( IsExpanded( pEntry ) )
-            rStateSet.AddState( (sal_Int16)AccessibleStateType::EXPANDED );
-    }
-
-    if ( GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED )
-        rStateSet.AddState( AccessibleStateType::CHECKED );
-    if ( IsEntryVisible( pEntry ) )
-        rStateSet.AddState( AccessibleStateType::VISIBLE );
-    if ( IsSelected( pEntry ) )
-        rStateSet.AddState( AccessibleStateType::SELECTED );
-    if ( IsEnabled() )
-    {
-        rStateSet.AddState( AccessibleStateType::ENABLED );
-        rStateSet.AddState( AccessibleStateType::FOCUSABLE );
-        rStateSet.AddState( AccessibleStateType::SELECTABLE );
-        SvViewDataEntry* pViewDataNewCur = 0;
-        if( pEntry )
+    if ( pEntry )
+    {
+        if ( pEntry->HasChildsOnDemand() || pEntry->HasChilds() )
+        {
+            rStateSet.AddState( AccessibleStateType::EXPANDABLE );
+            if ( IsExpanded( pEntry ) )
+                rStateSet.AddState( (sal_Int16)AccessibleStateType::EXPANDED );
+        }
+
+        if ( GetCheckButtonState( pEntry ) == SV_BUTTON_CHECKED )
+            rStateSet.AddState( AccessibleStateType::CHECKED );
+        if ( IsEntryVisible( pEntry ) )
+            rStateSet.AddState( AccessibleStateType::VISIBLE );
+        if ( IsSelected( pEntry ) )
+            rStateSet.AddState( AccessibleStateType::SELECTED );
+        if ( IsEnabled() )
         {
-            pViewDataNewCur= GetViewDataEntry(pEntry);
-            if(pViewDataNewCur->HasFocus())
+            rStateSet.AddState( AccessibleStateType::ENABLED );
+            rStateSet.AddState( AccessibleStateType::FOCUSABLE );
+            rStateSet.AddState( AccessibleStateType::SELECTABLE );
+            SvViewDataEntry* pViewDataNewCur = 0;
+            pViewDataNewCur = GetViewDataEntry(pEntry);
+            if( pViewDataNewCur && pViewDataNewCur->HasFocus() )
                 rStateSet.AddState( AccessibleStateType::FOCUSED );
         }
     }


More information about the Libreoffice-commits mailing list