From 546cd96371b5ae012e4f3bfe963ea299e1dcec54 Mon Sep 17 00:00:00 2001
From: Michael Stahl <mstahl@redhat.com>
Date: Tue, 29 Jul 2014 22:21:53 +0200
Subject: [PATCH 073/137] fdo#81384: writerfilter: turn the horrible btLr cell
text dir hack
... by 5 degrees to starboard, which lets the row in the bugdoc appear,
altough the height is a bit insufficient still. Why that works, is a
nautic mystery to me, i'd say this whole btLr emulation nonsense needs
to be keel-hauled, but after this patch i'll need some rum, arrrr...
(regression from commit 0208ead70a9412ccd554fcef3e9308f8ca17037b
and commit 970160f78ef6cc7abacfa252daa8451e1f0117bb)
Change-Id: Ie0c6ec88b6d6635379b9127f6460647f14776aad
(cherry picked from commit 5893a7536a0bbce57c4a2f89680dcb4cff3d06d7)
Reviewed-on: https://gerrit.libreoffice.org/10631
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
---
writerfilter/source/dmapper/DomainMapperTableManager.cxx | 3 ---
writerfilter/source/dmapper/TablePropertiesHandler.cxx | 5 ++++-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
index 6a95be3..8271492 100644
--- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
@@ -351,10 +351,7 @@ bool DomainMapperTableManager::sprm(Sprm & rSprm)
if (!getCellProps() || getCellProps()->find(PROP_VERTICAL_MERGE) == getCellProps()->end())
{
// Though in case there will be a vertical merge, don't do this, it hides text that is supposed to be visible.
- TablePropertyMapPtr pRowPropMap( new TablePropertyMap );
- pRowPropMap->Insert(PROP_SIZE_TYPE, uno::makeAny(text::SizeType::FIX));
m_bRowSizeTypeInserted = true;
- insertRowProps(pRowPropMap);
}
m_bHasBtlrCell = true;
}
diff --git a/writerfilter/source/dmapper/TablePropertiesHandler.cxx b/writerfilter/source/dmapper/TablePropertiesHandler.cxx
index 3aa4427..e6576e0 100644
--- a/writerfilter/source/dmapper/TablePropertiesHandler.cxx
+++ b/writerfilter/source/dmapper/TablePropertiesHandler.cxx
@@ -97,11 +97,14 @@ namespace dmapper {
DomainMapperTableManager* pManager = dynamic_cast<DomainMapperTableManager*>(m_pTableManager);
// In case any of the cells has the btLr cell direction, then an explicit minimal size will just hide the whole row, don't do that.
- if (pMeasureHandler->GetRowHeightSizeType() != text::SizeType::MIN || !pManager || !pManager->HasBtlrCell())
+ const int MINLAY = 23; // sw/inc/swtypes.hxx, minimal possible size of frames.
+ if (!pManager || !pManager->HasBtlrCell() || pMeasureHandler->getMeasureValue() > ConversionHelper::convertTwipToMM100(MINLAY))
{
// In case a cell already wanted fixed size, we should not overwrite it here.
if (!pManager || !pManager->IsRowSizeTypeInserted())
pPropMap->Insert( PROP_SIZE_TYPE, uno::makeAny( pMeasureHandler->GetRowHeightSizeType() ), false);
+ else
+ pPropMap->Insert( PROP_SIZE_TYPE, uno::makeAny(text::SizeType::FIX), false);
pPropMap->Insert( PROP_HEIGHT, uno::makeAny(pMeasureHandler->getMeasureValue() ));
}
--
1.9.3