summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRelease Engineers <releng@openoffice.org>2008-12-01 15:44:36 +0000
committerRelease Engineers <releng@openoffice.org>2008-12-01 15:44:36 +0000
commite23fac63ed037ab89346a2bb17139b9a2dcf6c33 (patch)
tree1a1a6c5fd4d666c132574554fa751bd96b573d0c
parent2b4b6b08971d183d689abdc09eeb078ebba5ce0d (diff)
CWS-TOOLING: integrate CWS sw301bf03_DEV300
-rw-r--r--sw/source/core/layout/calcmove.cxx11
-rw-r--r--sw/source/core/layout/wsfrm.cxx16
-rw-r--r--sw/source/filter/html/htmltab.cxx8
3 files changed, 29 insertions, 6 deletions
diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx
index 80ae815e25..bb73a85bbc 100644
--- a/sw/source/core/layout/calcmove.cxx
+++ b/sw/source/core/layout/calcmove.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: calcmove.cxx,v $
- * $Revision: 1.73 $
+ * $Revision: 1.73.252.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1212,6 +1212,15 @@ void SwCntntFrm::MakeAll()
}
}
+ // --> OD 2008-08-12 #b6732519#
+ if ( GetUpper()->IsSctFrm() &&
+ HasFollow() &&
+ GetFollow()->GetFrm() == GetNext() )
+ {
+ dynamic_cast<SwTxtFrm*>(this)->JoinFrm();
+ }
+ // <--
+
// --> OD 2004-06-23 #i28701# - move master forward, if it has to move,
// because of its object positioning.
if ( !static_cast<SwTxtFrm*>(this)->IsFollow() )
diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx
index 94addeb1a9..8de13cfc8b 100644
--- a/sw/source/core/layout/wsfrm.cxx
+++ b/sw/source/core/layout/wsfrm.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: wsfrm.cxx,v $
- * $Revision: 1.86 $
+ * $Revision: 1.86.124.1 $
*
* This file is part of OpenOffice.org.
*
@@ -2030,7 +2030,19 @@ SwTwips SwCntntFrm::ShrinkFrm( SwTwips nDist, BOOL bTst, BOOL bInfo )
else
nRstHeight = 0;
if( nRstHeight < 0 )
- nRstHeight = nDist + nRstHeight;
+ {
+ SwTwips nNextHeight = 0;
+ if( GetUpper()->IsSctFrm() && nDist > LONG_MAX/2 )
+ {
+ SwFrm *pNxt = GetNext();
+ while( pNxt )
+ {
+ nNextHeight += (pNxt->Frm().*fnRect->fnGetHeight)();
+ pNxt = pNxt->GetNext();
+ }
+ }
+ nRstHeight = nDist + nRstHeight - nNextHeight;
+ }
else
nRstHeight = nDist;
(Frm().*fnRect->fnSetHeight)( (Frm().*fnRect->fnGetHeight)() - nDist );
diff --git a/sw/source/filter/html/htmltab.cxx b/sw/source/filter/html/htmltab.cxx
index c396d7e76c..f6796cedf6 100644
--- a/sw/source/filter/html/htmltab.cxx
+++ b/sw/source/filter/html/htmltab.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: htmltab.cxx,v $
- * $Revision: 1.28 $
+ * $Revision: 1.28.186.1 $
*
* This file is part of OpenOffice.org.
*
@@ -1820,8 +1820,10 @@ SwTableLine *HTMLTable::MakeTableLine( SwTableBox *pUpper,
pCnts->CreateLayoutInfo();
pCell2->SetContents( pCnts );
- pLayoutInfo->GetCell( nTopRow, nStartCol )
- ->SetContents( pCntsLayoutInfo );
+ SwHTMLTableLayoutCell *pCurrCell = pLayoutInfo->GetCell( nTopRow, nStartCol );
+ pCurrCell->SetContents( pCntsLayoutInfo );
+ if( nBoxRowSpan < 0 )
+ pCurrCell->SetRowSpan( 0 );
// ggf. COLSPAN beachten
for( sal_uInt16 j=nStartCol+1; j<nSplitCol; j++ )