summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--accessibility/source/extended/AccessibleGridControlTable.cxx3
-rw-r--r--[-rwxr-xr-x]accessibility/source/extended/AccessibleGridControlTableBase.cxx5
-rw-r--r--automation/source/server/statemnt.cxx6
3 files changed, 8 insertions, 6 deletions
diff --git a/accessibility/source/extended/AccessibleGridControlTable.cxx b/accessibility/source/extended/AccessibleGridControlTable.cxx
index 513056877967..49e469675cef 100644
--- a/accessibility/source/extended/AccessibleGridControlTable.cxx
+++ b/accessibility/source/extended/AccessibleGridControlTable.cxx
@@ -245,8 +245,7 @@ void SAL_CALL AccessibleGridControlTable::selectAccessibleChild( sal_Int32 nChil
ensureIsValidIndex( nChildIndex );
sal_Int32 nColumns = m_aTable.GetColumnCount();
sal_Int32 nRow = (nChildIndex / nColumns);
- std::vector< sal_Int32 > selectedRows = m_aTable.GetSelectedRows();
- selectedRows.push_back(nRow);
+ m_aTable.SelectRow( nRow, TRUE );
}
sal_Bool SAL_CALL AccessibleGridControlTable::isAccessibleChildSelected( sal_Int32 nChildIndex )
throw ( lang::IndexOutOfBoundsException, uno::RuntimeException )
diff --git a/accessibility/source/extended/AccessibleGridControlTableBase.cxx b/accessibility/source/extended/AccessibleGridControlTableBase.cxx
index f6d1147ad309..d97feb1277ec 100755..100644
--- a/accessibility/source/extended/AccessibleGridControlTableBase.cxx
+++ b/accessibility/source/extended/AccessibleGridControlTableBase.cxx
@@ -245,7 +245,10 @@ sal_Int32 AccessibleGridControlTableBase::implGetChildIndex(
void AccessibleGridControlTableBase::implGetSelectedRows( Sequence< sal_Int32 >& rSeq )
{
- rSeq = comphelper::containerToSequence(m_aTable.GetSelectedRows());
+ sal_Int32 const selectionCount( m_aTable.GetSelectedRowCount() );
+ rSeq.realloc( selectionCount );
+ for ( sal_Int32 i=0; i<selectionCount; ++i )
+ rSeq[i] = m_aTable.GetSelectedRowIndex(i);
}
void AccessibleGridControlTableBase::ensureIsValidRow( sal_Int32 nRow )
diff --git a/automation/source/server/statemnt.cxx b/automation/source/server/statemnt.cxx
index 89c59f8172af..3e3b6db764df 100644
--- a/automation/source/server/statemnt.cxx
+++ b/automation/source/server/statemnt.cxx
@@ -6235,13 +6235,13 @@ protected:
}
break;
case M_GetSelCount :
- pRet->GenReturn ( RET_Value, aUId, comm_USHORT( pTC->GetSelectedRows().size() ));
+ pRet->GenReturn ( RET_Value, aUId, comm_USHORT( pTC->GetSelectedRowCount() ));
break;
case M_GetSelIndex :
if ( ! (nParams & PARAM_USHORT_1) )
nNr1 = 1;
- if ( ValueOK( aUId, CUniString("GetSelIndex"), nNr1, pTC->GetSelectedRows().size() ) )
- pRet->GenReturn ( RET_Value, aUId, comm_USHORT( pTC->GetSelectedRows()[nNr1-1] +1 ) );
+ if ( ValueOK( aUId, CUniString("GetSelIndex"), nNr1, pTC->GetSelectedRowCount() ) )
+ pRet->GenReturn ( RET_Value, aUId, comm_USHORT( pTC->GetSelectedRowIndex( nNr1-1 ) +1 ) );
break;
/* case M_GetSelText :
if ( ! (nParams & PARAM_USHORT_1) )