sc/source/ui/view/cellsh2.cxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)
New commits: commit efb0412eda9eb33e45b27d9d7d6cc94e4211a82c Author: Eike Rathke <er...@redhat.com> Date: Thu Dec 19 16:07:53 2013 +0100 fixed crash when invoking sort on an empty sheet's entire column, fdo#72874 Change-Id: Ifc4a08069a42ca18a056c509575a4080094aa07e diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx index c408e20..9cba201 100644 --- a/sc/source/ui/view/cellsh2.cxx +++ b/sc/source/ui/view/cellsh2.cxx @@ -122,10 +122,15 @@ static sal_Bool lcl_GetSortParam( const ScViewData* pData, ScSortParam& rSortPar if( rSortParam.nRow1 != rSortParam.nRow2 ) eFillDir = DIR_TOP; - SCSIZE nCount = pDoc->GetEmptyLinesInBlock( rSortParam.nCol1, rSortParam.nRow1, nTab, rSortParam.nCol2, rSortParam.nRow2, nTab, eFillDir ); - if( rSortParam.nRow2 == MAXROW ) - aExternalRange = ScRange( rSortParam.nCol1,sal::static_int_cast<SCROW>( nCount ), nTab ); + { + // Assume that user selected entire column(s), but cater for the + // possibility that the start row is not the first row. + SCSIZE nCount = pDoc->GetEmptyLinesInBlock( rSortParam.nCol1, rSortParam.nRow1, nTab, + rSortParam.nCol2, rSortParam.nRow2, nTab, eFillDir ); + aExternalRange = ScRange( rSortParam.nCol1, + ::std::min( rSortParam.nRow1 + sal::static_int_cast<SCROW>( nCount ), MAXROW), nTab ); + } else aExternalRange = ScRange( pData->GetCurX(), pData->GetCurY(), nTab ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits