svx/source/sdr/contact/objectcontactofpageview.cxx |   11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

New commits:
commit 1df0656c4bb139606081625fb19e39fbef9f8890
Author: Michael Stahl <mst...@redhat.com>
Date:   Fri Oct 24 17:58:27 2014 +0200

    fdo#83664: svx: don't try to paint on empty OutputDevice
    
    ObjectContactOfPageView::DoProcessDisplay() initalizes an empty
    aViewRange, which later code assumes to mean "paint everything", but
    actually the OutputDevice has 0 size so nothing can be painted.
    
    Change-Id: I1e47e8d38c1fad5e08027bb76fce4b54c5b3358b

diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx 
b/svx/source/sdr/contact/objectcontactofpageview.cxx
index 6fd3674..390c5bd 100644
--- a/svx/source/sdr/contact/objectcontactofpageview.cxx
+++ b/svx/source/sdr/contact/objectcontactofpageview.cxx
@@ -141,6 +141,15 @@ namespace sdr
         // OutputDevices then the given ones.
         void ObjectContactOfPageView::DoProcessDisplay(DisplayInfo& 
rDisplayInfo)
         {
+            OutputDevice& rTargetOutDev = 
GetPageWindow().GetPaintWindow().GetTargetOutputDevice();
+            const Size aOutputSizePixel(rTargetOutDev.GetOutputSizePixel());
+            if (!isOutputToRecordingMetaFile() // do those have outdev too?
+                && (0 == aOutputSizePixel.getWidth() ||
+                    0 == aOutputSizePixel.getHeight()))
+            {
+                return;
+            }
+
             // visualize entered group when that feature is switched on and 
it's not
             // a print output. #i29129# No ghosted display for printing.
             bool bVisualizeEnteredGroup(DoVisualizeEnteredGroup() && 
!isOutputToPrinter());
@@ -170,7 +179,6 @@ namespace sdr
 
             // update current ViewInformation2D at the ObjectContact
             const double fCurrentTime(getPrimitiveAnimator().GetTime());
-            OutputDevice& rTargetOutDev = 
GetPageWindow().GetPaintWindow().GetTargetOutputDevice();
             basegfx::B2DRange aViewRange;
 
             // create ViewRange
@@ -194,7 +202,6 @@ namespace sdr
             else
             {
                 // use visible pixels, but transform to world coordinates
-                const Size 
aOutputSizePixel(rTargetOutDev.GetOutputSizePixel());
                 aViewRange = basegfx::B2DRange(0.0, 0.0, 
aOutputSizePixel.getWidth(), aOutputSizePixel.getHeight());
 
                 // if a clip region is set, use it
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to