From 0e6c891dba2cf4e0c105b6fc17679524dde78b26 Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Tue, 31 Jul 2018 15:25:18 +0300 Subject: tdf#119015: don't call TableModel::optimize in CellCursor::merge() Better do that explicitly in the SvxTableController::MergeRange, so that the UI-driven operation still optimizes the table, but import code gets the initial column count, and not throw trying to access the deleted column. Change-Id: Ib4b4d716935ec2036ccb839c36f1be5b0cb878d5 Reviewed-on: https://gerrit.libreoffice.org/58359 Tested-by: Jenkins Reviewed-by: Mike Kaganski Reviewed-on: https://gerrit.libreoffice.org/58378 Reviewed-by: Andras Timar --- svx/source/table/cellcursor.cxx | 1 - svx/source/table/tablecontroller.cxx | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'svx/source') diff --git a/svx/source/table/cellcursor.cxx b/svx/source/table/cellcursor.cxx index db68fdb61ab4..2b12292d42cc 100644 --- a/svx/source/table/cellcursor.cxx +++ b/svx/source/table/cellcursor.cxx @@ -251,7 +251,6 @@ void SAL_CALL CellCursor::merge( ) try { mxTable->merge( aStart.mnCol, aStart.mnRow, aEnd.mnCol - aStart.mnCol + 1, aEnd.mnRow - aStart.mnRow + 1 ); - mxTable->optimize(); mxTable->setModified(true); } catch( Exception& ) diff --git a/svx/source/table/tablecontroller.cxx b/svx/source/table/tablecontroller.cxx index 6649ba4df9b4..2135362e429c 100644 --- a/svx/source/table/tablecontroller.cxx +++ b/svx/source/table/tablecontroller.cxx @@ -1807,6 +1807,7 @@ void SvxTableController::MergeRange( sal_Int32 nFirstCol, sal_Int32 nFirstRow, s } xRange->merge(); + mxTable->optimize(); if( bUndo ) mpModel->EndUndo(); -- cgit v1.2.3