diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-10-24 17:58:27 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2014-10-24 18:10:41 +0200 |
commit | 1df0656c4bb139606081625fb19e39fbef9f8890 (patch) | |
tree | 514ce0ea79fcd258c79ec98ebebd183d67334357 /svx | |
parent | 93de2f6b5c4ec349244066178d4b2624c409a89a (diff) |
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
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/sdr/contact/objectcontactofpageview.cxx | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/svx/source/sdr/contact/objectcontactofpageview.cxx b/svx/source/sdr/contact/objectcontactofpageview.cxx index 6fd36745b13c..390c5bd2d602 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 |