diff options
Diffstat (limited to 'sw/source/core/access/accmap.cxx')
-rw-r--r-- | sw/source/core/access/accmap.cxx | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx index df641292b4f0..0662ec7ddf26 100644 --- a/sw/source/core/access/accmap.cxx +++ b/sw/source/core/access/accmap.cxx @@ -1283,19 +1283,17 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() } else if( rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA ) { - if (((nStartIndex < nFirstNode) || - (nFirstNode == nStartIndex && pStart->nContent.GetIndex() == 0)) - && (nLastNode < nEndIndex)) + uno::Reference<XAccessible> const xAcc((*aIter).second); + if (xAcc.is()) { - uno::Reference < XAccessible > xAcc( (*aIter).second ); - if( xAcc.is() ) + if (IsSelectFrameAnchoredAtPara(*pPos, *pStart, *pEnd)) + { static_cast < ::accessibility::AccessibleShape* >(xAcc.get())->SetState( AccessibleStateType::SELECTED ); - } - else - { - uno::Reference < XAccessible > xAcc( (*aIter).second ); - if(xAcc.is()) + } + else + { static_cast < ::accessibility::AccessibleShape* >(xAcc.get())->ResetState( AccessibleStateType::SELECTED ); + } } } else if (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_CHAR) |