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 )