Author: hanya
Date: Tue Mar 24 17:05:34 2015
New Revision: 1668939

URL: http://svn.apache.org/r1668939
Log:
#i125147# check the pointer while get accessible state set

Modified:
    openoffice/trunk/main/svtools/inc/svtools/treelist.hxx
    openoffice/trunk/main/svtools/source/contnr/svtreebx.cxx

Modified: openoffice/trunk/main/svtools/inc/svtools/treelist.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/svtools/inc/svtools/treelist.hxx?rev=1668939&r1=1668938&r2=1668939&view=diff
==============================================================================
--- openoffice/trunk/main/svtools/inc/svtools/treelist.hxx (original)
+++ openoffice/trunk/main/svtools/inc/svtools/treelist.hxx Tue Mar 24 17:05:34 
2015
@@ -411,14 +411,14 @@ inline sal_Bool SvListView::IsSelected(
        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
 {

Modified: openoffice/trunk/main/svtools/source/contnr/svtreebx.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/trunk/main/svtools/source/contnr/svtreebx.cxx?rev=1668939&r1=1668938&r2=1668939&view=diff
==============================================================================
--- openoffice/trunk/main/svtools/source/contnr/svtreebx.cxx (original)
+++ openoffice/trunk/main/svtools/source/contnr/svtreebx.cxx Tue Mar 24 
17:05:34 2015
@@ -2757,32 +2757,32 @@ void SvTreeListBox::FillAccessibleEntryS
 {
        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 ( 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() )
-       {
-               rStateSet.AddState( AccessibleStateType::ENABLED );
-               rStateSet.AddState( AccessibleStateType::FOCUSABLE );
-               rStateSet.AddState( AccessibleStateType::SELECTABLE );
-               SvViewDataEntry* pViewDataNewCur = 0;
-               if( pEntry )
-               {
-                       pViewDataNewCur= GetViewDataEntry(pEntry);
-                       if(pViewDataNewCur->HasFocus())
-                               rStateSet.AddState( 
AccessibleStateType::FOCUSED );
-               }
-       }
+        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;
+            pViewDataNewCur = GetViewDataEntry(pEntry);
+            if( pViewDataNewCur && pViewDataNewCur->HasFocus() )
+                rStateSet.AddState( AccessibleStateType::FOCUSED );
+        }
+    }
 }
 
 Rectangle SvTreeListBox::GetBoundingRect( SvLBoxEntry* pEntry )


Reply via email to