diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-06-17 09:44:26 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-06-17 10:35:04 +0100 |
commit | e41a694c8b4fd1503b31f3a9da326e9f7ddd1b79 (patch) | |
tree | ec9e6ad2b50af4f0bdac697fe5fd6ebfc9bfcc89 | |
parent | 81071d8a877c5883b871a2699955ab3ef62b0bee (diff) |
Related: tdf#100421 crash in a11y on load of source odt
stldebug assert because end is before start and we can'g
get to start from end in a std::set
Change-Id: I0471220d3940e08b564f88841703a539aaf369d6
-rw-r--r-- | sw/source/core/access/acctable.cxx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sw/source/core/access/acctable.cxx b/sw/source/core/access/acctable.cxx index 28611e263581..8f2c4e3ea60e 100644 --- a/sw/source/core/access/acctable.cxx +++ b/sw/source/core/access/acctable.cxx @@ -557,15 +557,17 @@ void SwAccessibleTableData_Impl::GetRowColumnAndExtent( maRows.upper_bound( rBox.Bottom() - maTabFramePos.Y() ) ); rRow = static_cast< sal_Int32 >( std::distance( maRows.begin(), aStt ) ); - rRowExtent = - static_cast< sal_Int32 >( std::distance( aStt, aEnd ) ); + sal_Int32 nRowEnd = + static_cast< sal_Int32 >( std::distance( maRows.begin(), aEnd ) ); + rRowExtent = nRowEnd - rRow; aStt = maColumns.lower_bound( rBox.Left() - maTabFramePos.X() ); aEnd = maColumns.upper_bound( rBox.Right() - maTabFramePos.X() ); rColumn = static_cast< sal_Int32 >( std::distance( maColumns.begin(), aStt ) ); - rColumnExtent = - static_cast< sal_Int32 >( std::distance( aStt, aEnd ) ); + sal_Int32 nColumnEnd = + static_cast< sal_Int32 >( std::distance( maColumns.begin(), aEnd ) ); + rColumnExtent = nColumnEnd - rColumn; } class SwAccSingleTableSelHander_Impl : public SwAccTableSelHander_Impl |