Blob Blame History Raw
From 88c3b4bbf005299203370efecbc09dd9d9d26a72 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Tue, 22 Apr 2014 12:05:48 +0100
Subject: [PATCH] table not resizing when rows/columns added to it

I happened across a presentation whose table didn't resize when extra rows and
columns were added to it. It worked on a higher resolution machine, but not on
a 1024x768 one

Change-Id: I98a7a04bee0b0175174e6376e9ebc046b9eff2dc
---
 svx/source/table/svdotable.cxx | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index 5e22fba..369b5a2 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -248,6 +248,8 @@ private:
     static bool lastLayoutFitWidth;
     static bool lastLayoutFitHeight;
     static WritingMode lastLayoutMode;
+    static sal_Int32 lastRowCount;
+    static sal_Int32 lastColCount;
 };
 
 SdrTableObjImpl* SdrTableObjImpl::lastLayoutTable = NULL;
@@ -255,6 +257,8 @@ Rectangle SdrTableObjImpl::lastLayoutRectangle;
 bool SdrTableObjImpl::lastLayoutFitWidth;
 bool SdrTableObjImpl::lastLayoutFitHeight;
 WritingMode SdrTableObjImpl::lastLayoutMode;
+sal_Int32 SdrTableObjImpl::lastRowCount;
+sal_Int32 SdrTableObjImpl::lastColCount;
 
 SdrTableObjImpl::SdrTableObjImpl()
 : mpTableObj( 0 )
@@ -694,13 +698,17 @@ void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHe
         WritingMode writingMode = mpTableObj->GetWritingMode();
         if( lastLayoutTable != this || lastLayoutRectangle != rArea
             || lastLayoutFitWidth != bFitWidth || lastLayoutFitHeight != bFitHeight
-            || lastLayoutMode != writingMode )
+            || lastLayoutMode != writingMode
+            || lastRowCount != getRowCount()
+            || lastColCount != getColumnCount() )
         {
             lastLayoutTable = this;
             lastLayoutRectangle = rArea;
             lastLayoutFitWidth = bFitWidth;
             lastLayoutFitHeight = bFitHeight;
             lastLayoutMode = writingMode;
+            lastRowCount = getRowCount();
+            lastColCount = getColumnCount();
             TableModelNotifyGuard aGuard( mxTable.get() );
             mpLayouter->LayoutTable( rArea, bFitWidth, bFitHeight );
         }
-- 
1.9.0