summaryrefslogtreecommitdiff
path: root/sc/source/ui/docshell/docsh3.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/docshell/docsh3.cxx')
-rw-r--r--sc/source/ui/docshell/docsh3.cxx19
1 files changed, 15 insertions, 4 deletions
diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx
index e2225b42164a..e43ff6f5a364 100644
--- a/sc/source/ui/docshell/docsh3.cxx
+++ b/sc/source/ui/docshell/docsh3.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: docsh3.cxx,v $
*
- * $Revision: 1.15 $
+ * $Revision: 1.16 $
*
- * last change: $Author: sab $ $Date: 2002-10-21 11:28:44 $
+ * last change: $Author: hr $ $Date: 2003-03-26 18:05:59 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -174,10 +174,13 @@ void ScDocShell::PostPaint( USHORT nStartCol, USHORT nStartRow, USHORT nStartTab
if (nExtFlags & SC_PF_TESTMERGE)
aDocument.ExtendMerge( nStartCol, nStartRow, nEndCol, nEndRow, nStartTab );
- if ( nStartCol != 0 || nEndCol != MAXCOL ) // gedreht -> ganze Zeilen
+ if ( nStartCol != 0 || nEndCol != MAXCOL )
{
+ // If rotated text is involved, repaint the entire rows.
+ // #i9731# If there's right-to-left text to the left of the area,
+ // the displacement for clipping of that text may change.
if ( aDocument.HasAttrib( 0,nStartRow,nStartTab,
- MAXCOL,nEndRow,nEndTab, HASATTR_ROTATE ) )
+ MAXCOL,nEndRow,nEndTab, HASATTR_ROTATE | HASATTR_RTL ) )
{
nStartCol = 0;
nEndCol = MAXCOL;
@@ -489,7 +492,15 @@ USHORT ScDocShell::SetPrinter( SfxPrinter* pNewPrinter, USHORT nDiffFlags )
{
SfxPrinter* pOldPrinter = aDocument.GetPrinter();
if (pOldPrinter)
+ {
pOldPrinter->SetJobSetup( pNewPrinter->GetJobSetup() );
+
+ // #i6706# Call SetPrinter with the old printer again, so the drawing layer
+ // RefDevice is set (calling ReformatAllTextObjects and rebuilding charts),
+ // because the JobSetup (printer device settings) may affect text layout.
+ aDocument.SetPrinter( pOldPrinter );
+ CalcOutputFactor(); // also with the new settings
+ }
}
if (nDiffFlags & SFX_PRINTER_OPTIONS)