[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - svx/source
Caolán McNamara
caolanm at redhat.com
Tue Nov 18 04:42:56 PST 2014
svx/source/table/svdotable.cxx | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
New commits:
commit 9811ffe8b53307cb5fa9a365c4f7f9ba25a0a3a5
Author: Caolán McNamara <caolanm at redhat.com>
Date: Thu Nov 13 14:31:09 2014 +0000
impress tables are not interactively growing
the optimization here stops tables growing as their text
contents change in editing mode
So, just recalculate if the table could grow and its
being interactively edited, which leaves the original
(dubious ?) load-time optimization in place
Change-Id: I894acf47d34ec8b68aaf9076b5a0cb7e29c38a17
(cherry picked from commit 22ef69b25fa60f4543dc72cb7a8d2f88b789ce43)
Signed-off-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index fbd532a..0345677 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -689,16 +689,17 @@ sal_Int32 SdrTableObjImpl::getRowCount() const
return mxTable.is() ? mxTable->getRowCount() : 0;
}
-
-
void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHeight )
{
if( mpLayouter && mpTableObj->GetModel() )
{
// Optimization: SdrTableObj::SetChanged() can call this very often, repeatedly
// with the same settings, noticeably increasing load time. Skip if already done.
+ bool bInteractiveMightGrowBecauseTextChanged =
+ mpTableObj->IsRealyEdited() && (mpTableObj->IsAutoGrowHeight() || mpTableObj->IsAutoGrowWidth());
WritingMode writingMode = mpTableObj->GetWritingMode();
- if( lastLayoutTable != this || lastLayoutInputRectangle != rArea
+ if( bInteractiveMightGrowBecauseTextChanged
+ || lastLayoutTable != this || lastLayoutInputRectangle != rArea
|| lastLayoutFitWidth != bFitWidth || lastLayoutFitHeight != bFitHeight
|| lastLayoutMode != writingMode
|| lastRowCount != getRowCount()
@@ -722,8 +723,6 @@ void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHe
}
}
-
-
void SdrTableObjImpl::UpdateCells( Rectangle& rArea )
{
if( mpLayouter && mxTable.is() )
More information about the Libreoffice-commits
mailing list