sw/inc/viewsh.hxx                  |    6 ++++++
 sw/source/core/doc/notxtfrm.cxx    |   21 ++++++++++-----------
 sw/source/core/draw/dflyobj.cxx    |    2 +-
 sw/source/core/inc/cellfrm.hxx     |    2 +-
 sw/source/core/inc/flyfrm.hxx      |    2 +-
 sw/source/core/inc/frame.hxx       |    2 +-
 sw/source/core/inc/layfrm.hxx      |    2 +-
 sw/source/core/inc/notxtfrm.hxx    |    2 +-
 sw/source/core/inc/rootfrm.hxx     |    2 +-
 sw/source/core/inc/tabfrm.hxx      |    2 +-
 sw/source/core/inc/txtfrm.hxx      |    2 +-
 sw/source/core/layout/paintfrm.cxx |   22 +++++++++++-----------
 sw/source/core/layout/unusedf.cxx  |    2 +-
 sw/source/core/text/frmpaint.cxx   |    2 +-
 sw/source/core/text/porfly.cxx     |    2 +-
 sw/source/core/view/viewpg.cxx     |    2 +-
 sw/source/core/view/viewsh.cxx     |   20 +++++++++++++++-----
 sw/source/core/view/vnew.cxx       |    2 ++
 sw/source/core/view/vprint.cxx     |    4 ++--
 sw/source/uibase/docvw/edtwin2.cxx |    4 ++++
 20 files changed, 63 insertions(+), 42 deletions(-)

New commits:
commit f2c84d410cf6df3bb3725d2495e3b6b60b2cf17b
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Wed Jun 24 11:38:34 2015 +0200

    sw: add SwViewShell::mbOutputToWindow
    
    So that we can know if the output is a virtual device that will end up
    on the screen (due to double buffering) or a "real" virtual device.
    
    Change-Id: I1e8eeddfb19c374363b98786c26836e1f3236e7f

diff --git a/sw/inc/viewsh.hxx b/sw/inc/viewsh.hxx
index e2ea4b5..9e77272 100644
--- a/sw/inc/viewsh.hxx
+++ b/sw/inc/viewsh.hxx
@@ -192,6 +192,9 @@ protected:
 
     bool mbInLibreOfficeKitCallback;
 
+    /// The virtual device we paint to will end up on the screen.
+    bool mbOutputToWindow;
+
 public:
     TYPEINFO();
 
@@ -580,6 +583,9 @@ public:
     /// Are we doing tiled rendering?
     bool isTiledRendering() const;
 
+    void setOutputToWindow(bool bOutputToWindow);
+    bool isOutputToWindow() const;
+
 };
 
 // manages global ShellPointer
diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 5327ea3..aa2975b 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -935,7 +935,7 @@ void SwNoTextFrm::PaintPicture( vcl::RenderContext* pOut, 
const SwRect &rGrfArea
                         pVout = 0;
 
                     OSL_ENSURE( OUTDEV_VIRDEV != pOut->GetOutDevType() ||
-                            pShell->GetViewOptions()->IsPDFExport(),
+                            pShell->GetViewOptions()->IsPDFExport() || 
pShell->isOutputToWindow(),
                             "pOut should not be a virtual device" );
 
                     pGrfNd->StartGraphicAnimation(pOut, aAlignedGrfArea.Pos(),
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 739c898..5d66750 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -139,6 +139,16 @@ bool SwViewShell::isTiledRendering() const
     return getIDocumentDrawModelAccess()->GetDrawModel()->isTiledRendering();
 }
 
+void SwViewShell::setOutputToWindow(bool bOutputToWindow)
+{
+    mbOutputToWindow = bOutputToWindow;
+}
+
+bool SwViewShell::isOutputToWindow() const
+{
+    return mbOutputToWindow;
+}
+
 static void
 lcl_PaintTransparentFormControls(SwViewShell & rShell, SwRect const& rRect)
 {
diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx
index 81333b4..2e8ed74 100644
--- a/sw/source/core/view/vnew.cxx
+++ b/sw/source/core/view/vnew.cxx
@@ -170,6 +170,7 @@ SwViewShell::SwViewShell( SwDoc& rDocument, vcl::Window 
*pWindow,
     mnLockPaint( 0 ),
     mbSelectAll(false),
     mbInLibreOfficeKitCallback(false),
+    mbOutputToWindow(false),
     mpPrePostOutDev(0), // #i72754#
     maPrePostMapMode()
 {
@@ -246,6 +247,7 @@ SwViewShell::SwViewShell( SwViewShell& rShell, vcl::Window 
*pWindow,
     mnLockPaint( 0 ),
     mbSelectAll(false),
     mbInLibreOfficeKitCallback(false),
+    mbOutputToWindow(false),
     mpPrePostOutDev(0), // #i72754#
     maPrePostMapMode()
 {
diff --git a/sw/source/uibase/docvw/edtwin2.cxx 
b/sw/source/uibase/docvw/edtwin2.cxx
index fc38db6..dd78039 100644
--- a/sw/source/uibase/docvw/edtwin2.cxx
+++ b/sw/source/uibase/docvw/edtwin2.cxx
@@ -467,7 +467,11 @@ void SwEditWin::Paint(vcl::RenderContext& rRenderContext, 
const Rectangle& rRect
               GetView().GetVisArea().GetHeight() <= 0 )
         Invalidate( rRect );
     else
+    {
+        pWrtShell->setOutputToWindow(true);
         pWrtShell->Paint(rRenderContext, rRect);
+        pWrtShell->setOutputToWindow(false);
+    }
 
     if( bPaintShadowCrsr )
         m_pShadCrsr->Paint();
commit cc9e9219cb897fa1a84916feb13720020fd20b12
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Wed Jun 24 10:59:34 2015 +0200

    SwNoTextFrm::Paint: stop using SwViewShell::GetOut()
    
    Change-Id: Id7a975cff09066bd796a7fbdee63393266c1843e

diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index 729e950..5327ea3 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -215,7 +215,7 @@ static void lcl_ClearArea( const SwFrm &rFrm,
     }
 }
 
-void SwNoTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& 
rRect, SwPrintData const*const) const
+void SwNoTextFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& 
rRect, SwPrintData const*const) const
 {
     if ( Frm().IsEmpty() )
         return;
@@ -245,8 +245,7 @@ void SwNoTextFrm::Paint(vcl::RenderContext& 
/*rRenderContext*/, SwRect const& rR
 
     SfxProgress::EnterLock(); // No progress reschedules in paint (SwapIn)
 
-    OutputDevice *pOut = pSh->GetOut();
-    pOut->Push();
+    rRenderContext.Push();
     bool bClip = true;
     tools::PolyPolygon aPoly;
 
@@ -258,12 +257,12 @@ void SwNoTextFrm::Paint(vcl::RenderContext& 
/*rRenderContext*/, SwRect const& rR
     // #i13147# - add 2nd parameter with value <true> to
     // method call <FindFlyFrm().GetContour(..)> to indicate that it is called
     // for paint in order to avoid load of the intrinsic graphic.
-    if ( ( !pOut->GetConnectMetaFile() ||
+    if ( ( !rRenderContext.GetConnectMetaFile() ||
            !pSh->GetWin() ) &&
          FindFlyFrm()->GetContour( aPoly, true )
        )
     {
-        pOut->SetClipRegion(vcl::Region(aPoly));
+        rRenderContext.SetClipRegion(vcl::Region(aPoly));
         bClip = false;
     }
 
@@ -294,23 +293,23 @@ void SwNoTextFrm::Paint(vcl::RenderContext& 
/*rRenderContext*/, SwRect const& rR
     {
         // Calculate the four to-be-deleted rectangles
         if( pSh->GetWin() )
-            ::lcl_ClearArea( *this, *pSh->GetOut(), aPaintArea, aNormal );
+            ::lcl_ClearArea( *this, rRenderContext, aPaintArea, aNormal );
 
         // The intersection of the PaintArea and the Bitmap contains the 
absolutely visible area of the Frame
         aPaintArea._Intersection( aNormal );
 
         if ( bClip )
-            pOut->IntersectClipRegion( aPaintArea.SVRect() );
+            rRenderContext.IntersectClipRegion( aPaintArea.SVRect() );
         /// delete unused 3rd parameter
-        PaintPicture( pOut, aGrfArea );
+        PaintPicture( &rRenderContext, aGrfArea );
     }
     else
         // If it's not visible, simply delete the given Area
-        lcl_ClearArea( *this, *pSh->GetOut(), aPaintArea, SwRect() );
+        lcl_ClearArea( *this, rRenderContext, aPaintArea, SwRect() );
     if( pGrfNd )
         pGrfNd->SetFrameInPaint( false );
 
-    pOut->Pop();
+    rRenderContext.Pop();
     SfxProgress::LeaveLock();
 }
 
commit 2fb93c6436739dfc8bec1348fad4f263cd625b65
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Wed Jun 24 10:51:37 2015 +0200

    SwFrm::Paint: take a vcl::RenderContext
    
    Change-Id: I530d98a425adb32e2c8e1e4d012130f68f6c90a1

diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx
index c3d62ed..729e950 100644
--- a/sw/source/core/doc/notxtfrm.cxx
+++ b/sw/source/core/doc/notxtfrm.cxx
@@ -215,7 +215,7 @@ static void lcl_ClearArea( const SwFrm &rFrm,
     }
 }
 
-void SwNoTextFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwNoTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& 
rRect, SwPrintData const*const) const
 {
     if ( Frm().IsEmpty() )
         return;
diff --git a/sw/source/core/draw/dflyobj.cxx b/sw/source/core/draw/dflyobj.cxx
index 43ba556..a69ac3d 100644
--- a/sw/source/core/draw/dflyobj.cxx
+++ b/sw/source/core/draw/dflyobj.cxx
@@ -483,7 +483,7 @@ void SwVirtFlyDrawObj::wrap_DoPaintObject(
                 RestoreMapMode aRestoreMapModeIfNeeded( pShell );
 
                 // paint the FlyFrame (use standard VCL-Paint)
-                pFlyFrm->Paint( GetFlyFrm()->Frm() );
+                pFlyFrm->Paint( *pShell->GetOut(), GetFlyFrm()->Frm() );
             }
         }
     }
diff --git a/sw/source/core/inc/cellfrm.hxx b/sw/source/core/inc/cellfrm.hxx
index 21b73c4..efd3796 100644
--- a/sw/source/core/inc/cellfrm.hxx
+++ b/sw/source/core/inc/cellfrm.hxx
@@ -43,7 +43,7 @@ public:
     SwCellFrm( const SwTableBox &, SwFrm*, bool bInsertContent = true );
 
     virtual bool GetCrsrOfst( SwPosition *, Point&, SwCrsrMoveState* = 0, bool 
bTestBackground = false ) const SAL_OVERRIDE;
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const 
SAL_OVERRIDE;
     virtual void CheckDirection( bool bVert ) SAL_OVERRIDE;
 
diff --git a/sw/source/core/inc/flyfrm.hxx b/sw/source/core/inc/flyfrm.hxx
index df2edc4..59f33db 100644
--- a/sw/source/core/inc/flyfrm.hxx
+++ b/sw/source/core/inc/flyfrm.hxx
@@ -162,7 +162,7 @@ public:
 
     // get client information
     virtual bool GetInfo( SfxPoolItem& ) const SAL_OVERRIDE;
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const 
SAL_OVERRIDE;
     virtual Size ChgSize( const Size& aNewSize ) SAL_OVERRIDE;
     virtual bool GetCrsrOfst( SwPosition *, Point&,
diff --git a/sw/source/core/inc/frame.hxx b/sw/source/core/inc/frame.hxx
index 8d283f5..2072d40 100644
--- a/sw/source/core/inc/frame.hxx
+++ b/sw/source/core/inc/frame.hxx
@@ -764,7 +764,7 @@ public:
                                  SwCrsrMoveState* = 0, bool bTestBackground = 
false ) const;
     virtual bool    GetCharRect( SwRect &, const SwPosition&,
                                  SwCrsrMoveState* = 0 ) const;
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const;
 
     // HACK: shortcut between frame and formatting
diff --git a/sw/source/core/inc/layfrm.hxx b/sw/source/core/inc/layfrm.hxx
index e61fbf7..b3b0ccb 100644
--- a/sw/source/core/inc/layfrm.hxx
+++ b/sw/source/core/inc/layfrm.hxx
@@ -104,7 +104,7 @@ public:
 
     SwLayoutFrm( SwFrameFormat*, SwFrm* );
 
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const 
SAL_OVERRIDE;
     const SwFrm *Lower() const { return m_pLower; }
           SwFrm *Lower()       { return m_pLower; }
diff --git a/sw/source/core/inc/notxtfrm.hxx b/sw/source/core/inc/notxtfrm.hxx
index 12a91dd..e0a65c4 100644
--- a/sw/source/core/inc/notxtfrm.hxx
+++ b/sw/source/core/inc/notxtfrm.hxx
@@ -46,7 +46,7 @@ protected:
 public:
     SwNoTextFrm( SwNoTextNode * const, SwFrm* );
 
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const 
SAL_OVERRIDE;
     virtual bool GetCharRect( SwRect &, const SwPosition&,
                               SwCrsrMoveState* = 0) const SAL_OVERRIDE;
diff --git a/sw/source/core/inc/rootfrm.hxx b/sw/source/core/inc/rootfrm.hxx
index fe0d6b0..6a90472 100644
--- a/sw/source/core/inc/rootfrm.hxx
+++ b/sw/source/core/inc/rootfrm.hxx
@@ -199,7 +199,7 @@ public:
     virtual bool  GetCrsrOfst( SwPosition *, Point&,
                                SwCrsrMoveState* = 0, bool bTestBackground = 
false ) const SAL_OVERRIDE;
 
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const 
SAL_OVERRIDE;
     virtual SwTwips ShrinkFrm( SwTwips, bool bTst = false, bool bInfo = false 
) SAL_OVERRIDE;
     virtual SwTwips GrowFrm  ( SwTwips, bool bTst = false, bool bInfo = false 
) SAL_OVERRIDE;
diff --git a/sw/source/core/inc/tabfrm.hxx b/sw/source/core/inc/tabfrm.hxx
index c78872b..3f0c935 100644
--- a/sw/source/core/inc/tabfrm.hxx
+++ b/sw/source/core/inc/tabfrm.hxx
@@ -126,7 +126,7 @@ public:
     SwTabFrm* FindMaster( bool bFirstMaster = false ) const;
 
     virtual bool GetInfo( SfxPoolItem &rHint ) const SAL_OVERRIDE;
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const 
SAL_OVERRIDE;
     virtual void CheckDirection( bool bVert ) SAL_OVERRIDE;
 
diff --git a/sw/source/core/inc/txtfrm.hxx b/sw/source/core/inc/txtfrm.hxx
index 7bfa692..0ca7591 100644
--- a/sw/source/core/inc/txtfrm.hxx
+++ b/sw/source/core/inc/txtfrm.hxx
@@ -287,7 +287,7 @@ public:
 
     void   PaintExtraData( const SwRect & rRect ) const; /// Page number etc.
     SwRect Paint();
-    virtual void Paint( SwRect const&,
+    virtual void Paint( vcl::RenderContext& rRenderContext, SwRect const&,
                         SwPrintData const*const pPrintData = NULL ) const 
SAL_OVERRIDE;
     virtual bool GetInfo( SfxPoolItem & ) const SAL_OVERRIDE;
 
diff --git a/sw/source/core/layout/paintfrm.cxx 
b/sw/source/core/layout/paintfrm.cxx
index 9f1393d..e81a7cb 100644
--- a/sw/source/core/layout/paintfrm.cxx
+++ b/sw/source/core/layout/paintfrm.cxx
@@ -3173,7 +3173,7 @@ namespace
  * 3. Paint the document content (text)
  * 4. Paint the draw layer that is above the document
 |*/
-void SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) 
const
+void SwRootFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, 
SwPrintData const*const pPrintData) const
 {
     OSL_ENSURE( Lower() && Lower()->IsPageFrm(), "Lower of root is no page." );
 
@@ -3389,7 +3389,7 @@ void SwRootFrm::Paint(SwRect const& rRect, SwPrintData 
const*const pPrintData) c
                     gProp.pSSpecSubsLines->PaintSubsidiary( pSh->GetOut(), 
NULL, gProp );
                 }
 
-                pPage->Paint( aPaintRect );
+                pPage->Paint( rRenderContext, aPaintRect );
 
                 // no paint of page border and shadow, if writer is in place 
mode.
                 if( pSh->GetWin() && pSh->GetDoc()->GetDocShell() &&
@@ -3586,7 +3586,7 @@ SwShortCut::SwShortCut( const SwFrm& rFrm, const SwRect& 
rRect )
     }
 }
 
-void SwLayoutFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwLayoutFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& 
rRect, SwPrintData const*const) const
 {
     SwViewShell *pSh = getRootFrm()->GetCurrShell();
 
@@ -3670,7 +3670,7 @@ void SwLayoutFrm::Paint(SwRect const& rRect, SwPrintData 
const*const) const
             pFrm->ResetCompletePaint();
             aPaintRect._Intersection( rRect );
 
-            pFrm->Paint( aPaintRect );
+            pFrm->Paint( rRenderContext, aPaintRect );
 
             if ( Lower() && Lower()->IsColumnFrm() )
             {
@@ -4092,10 +4092,10 @@ bool SwFlyFrm::IsPaint( SdrObject *pObj, const 
SwViewShell *pSh )
     return bPaint;
 }
 
-void SwCellFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwCellFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, 
SwPrintData const*const) const
 {
     if ( GetLayoutRowSpan() >= 1 )
-        SwLayoutFrm::Paint( rRect );
+        SwLayoutFrm::Paint( rRenderContext, rRect );
 }
 
 struct BorderLinesGuard
@@ -4113,7 +4113,7 @@ private:
     BorderLines *const m_pBorderLines;
 };
 
-void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwFlyFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, 
SwPrintData const*const) const
 {
     //optimize thumbnail generation and store procedure to improve odt saving 
performance, #i120030#
     SwViewShell *pShell = getRootFrm()->GetCurrShell();
@@ -4352,7 +4352,7 @@ void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData 
const*const) const
         }
     }
 
-    SwLayoutFrm::Paint( aRect );
+    SwLayoutFrm::Paint( rRenderContext, aRect );
 
     Validate();
 
@@ -4369,7 +4369,7 @@ void SwFlyFrm::Paint(SwRect const& rRect, SwPrintData 
const*const) const
         gProp.pSProgress->Reschedule();
 }
 
-void SwTabFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwTabFrm::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, 
SwPrintData const*const) const
 {
     const SwViewOption* pViewOption = gProp.pSGlobalShell->GetViewOptions();
     if (pViewOption->IsTable())
@@ -4392,7 +4392,7 @@ void SwTabFrm::Paint(SwRect const& rRect, SwPrintData 
const*const) const
             aHelper.PaintLines(*gProp.pSGlobalShell->GetOut(), rRect);
         }
 
-        SwLayoutFrm::Paint( rRect );
+        SwLayoutFrm::Paint( rRenderContext, rRect );
     }
     // OD 10.01.2003 #i6467# - no light grey rectangle for page preview
     else if ( gProp.pSGlobalShell->GetWin() && 
!gProp.pSGlobalShell->IsPreview() )
@@ -7713,7 +7713,7 @@ Graphic SwFlyFrameFormat::MakeGraphic( ImageMap* pMap )
                           &aSwRedirector );
         gProp.pSLines->PaintLines( pDev, gProp );
         if ( pFly->IsFlyInCntFrm() )
-            pFly->Paint( aOut );
+            pFly->Paint( *pDev, aOut );
         gProp.pSLines->PaintLines( pDev, gProp );
         // OD 30.08.2002 #102450# - add 3rd parameter
         pImp->PaintLayer( pIDDMA->GetHeavenId(), 0, aOut, &aPageBackgrdColor,
diff --git a/sw/source/core/layout/unusedf.cxx 
b/sw/source/core/layout/unusedf.cxx
index 3561928..a788a58 100644
--- a/sw/source/core/layout/unusedf.cxx
+++ b/sw/source/core/layout/unusedf.cxx
@@ -26,7 +26,7 @@ void SwFrm::Format( const SwBorderAttrs * )
     OSL_FAIL( "Format() of the base class called." );
 }
 
-void SwFrm::Paint(SwRect const&, SwPrintData const*const) const
+void SwFrm::Paint(vcl::RenderContext&, SwRect const&, SwPrintData const*const) 
const
 {
     OSL_FAIL( "Paint() of the base class called." );
 }
diff --git a/sw/source/core/text/frmpaint.cxx b/sw/source/core/text/frmpaint.cxx
index 30b1f51..9dad95b 100644
--- a/sw/source/core/text/frmpaint.cxx
+++ b/sw/source/core/text/frmpaint.cxx
@@ -573,7 +573,7 @@ bool SwTextFrm::PaintEmpty( const SwRect &rRect, bool 
bCheck ) const
     return false;
 }
 
-void SwTextFrm::Paint(SwRect const& rRect, SwPrintData const*const) const
+void SwTextFrm::Paint(vcl::RenderContext& /*rRenderContext*/, SwRect const& 
rRect, SwPrintData const*const) const
 {
     ResetRepaint();
 
diff --git a/sw/source/core/text/porfly.cxx b/sw/source/core/text/porfly.cxx
index aefa9d4..ed21ab8 100644
--- a/sw/source/core/text/porfly.cxx
+++ b/sw/source/core/text/porfly.cxx
@@ -238,7 +238,7 @@ void SwFlyCntPortion::Paint( const SwTextPaintInfo &rInf ) 
const
             // GetFlyFrm() may change the layout mode at the output device.
             {
                 SwLayoutModeModifier aLayoutModeModifier( *rInf.GetOut() );
-                GetFlyFrm()->Paint( aRect );
+                GetFlyFrm()->Paint( 
const_cast<vcl::RenderContext&>(*rInf.GetOut()), aRect );
             }
             ((SwTextPaintInfo&)rInf).GetRefDev()->SetLayoutMode(
                     rInf.GetOut()->GetLayoutMode() );
diff --git a/sw/source/core/view/viewpg.cxx b/sw/source/core/view/viewpg.cxx
index 7382d68..3a3749b 100644
--- a/sw/source/core/view/viewpg.cxx
+++ b/sw/source/core/view/viewpg.cxx
@@ -212,7 +212,7 @@ void SwViewShell::PrintProspect(
             aPos -= aShell.maVisArea.Pos();
             aMapMode.SetOrigin( aPos );
             pPrinter->SetMapMode( aMapMode );
-            pStPage->GetUpper()->Paint( pStPage->Frm() );
+            pStPage->GetUpper()->Paint( *pOutDev, pStPage->Frm() );
         }
 
         pStPage = pNxtPage;
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 009f6e4..739c898 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -379,7 +379,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd )
                             mpOut = pVout.get();
                             if ( bPaintsFromSystem )
                                 PaintDesktop(*mpOut, aRect);
-                            pCurrentLayout->Paint( aRect );
+                            pCurrentLayout->Paint( *mpOut, aRect );
                             pOld->DrawOutDev( aRect.Pos(), aRect.SSize(),
                                               aRect.Pos(), aRect.SSize(), 
*pVout );
                             mpOut = pOld;
@@ -401,7 +401,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd )
                         if ( bPaintsFromSystem )
                             PaintDesktop(*GetOut(), aRect);
                         if (!isTiledRendering())
-                            pCurrentLayout->Paint( aRect );
+                            pCurrentLayout->Paint( *mpOut, aRect );
                         else
                             
pCurrentLayout->GetCurrShell()->InvalidateWindows(aRect.SVRect());
 
@@ -1275,7 +1275,7 @@ bool SwViewShell::SmoothScroll( long lXDiff, long lYDiff, 
const Rectangle *pRect
                 // SW paint stuff
                 PaintDesktop(*GetOut(), aRect);
                 SwViewShell::mbLstAct = true;
-                GetLayout()->Paint( aRect );
+                GetLayout()->Paint( *GetOut(), aRect );
                 SwViewShell::mbLstAct = false;
 
                 // end paint and destroy ObjectContact again
@@ -1712,7 +1712,7 @@ void SwViewShell::Paint(vcl::RenderContext& 
rRenderContext, const Rectangle &rRe
                 if ( aRect.IsInside( maInvalidRect ) )
                     ResetInvalidRect();
                 SwViewShell::mbLstAct = true;
-                GetLayout()->Paint( aRect );
+                GetLayout()->Paint( rRenderContext, aRect );
                 SwViewShell::mbLstAct = false;
             }
             else
@@ -1733,7 +1733,7 @@ void SwViewShell::Paint(vcl::RenderContext& 
rRenderContext, const Rectangle &rRe
                     if ( aRect.IsInside( maInvalidRect ) )
                         ResetInvalidRect();
                     SwViewShell::mbLstAct = true;
-                    GetLayout()->Paint( aRect );
+                    GetLayout()->Paint( rRenderContext, aRect );
                     SwViewShell::mbLstAct = false;
                     // --> OD 2009-08-12 #i101192#
                     // end Pre/PostPaint encapsulation
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
index 3098745c..631f69a 100644
--- a/sw/source/core/view/vprint.cxx
+++ b/sw/source/core/view/vprint.cxx
@@ -533,7 +533,7 @@ bool SwViewShell::PrintOrPDFExport(
 
         ::SetSwVisArea( pViewSh2, pStPage->Frm() );
 
-        pStPage->GetUpper()->Paint( pStPage->Frm(), &rPrintData );
+        pStPage->GetUpper()->Paint( *pOutDev, pStPage->Frm(), &rPrintData );
 
         SwPaintQueue::Repaint();
 
@@ -616,7 +616,7 @@ void SwViewShell::PrtOle2( SwDoc *pDoc, const SwViewOption 
*pOpt, const SwPrintD
 
         rRenderContext.Push( PushFlags::CLIPREGION );
         rRenderContext.IntersectClipRegion( aSwRect.SVRect() );
-        pSh->GetLayout()->Paint( aSwRect );
+        pSh->GetLayout()->Paint( rRenderContext, aSwRect );
 
         rRenderContext.Pop();
         // first the CurrShell object needs to be destroyed!
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to