diff options
author | Jan Holesovsky <kendy@suse.cz> | 2013-04-24 16:15:19 +0200 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2013-04-24 16:28:18 +0200 |
commit | 617dddda6258d63d7f2307f38322a411670e6ed8 (patch) | |
tree | cebd3d0faf97996ab5672b43ba792a3a36952770 /vcl/source/gdi/outdev6.cxx | |
parent | 5ca26caf2ca723c9857b563568dae8a16c9c5962 (diff) |
fdo#59259: Suppress the expensive parts when we are only writing to metafile.
When we are launching the printing dialog, we first draw the page using
drawinglayer to a metafile, and then render the metafile. Unfortunately, here
we did the real operation of allocating large bitmaps, and destroying them
again; all that just to throw all that away at the end of the operation.
The preview sets the mbOutput to false correctly, so we can just skip the
expensive parts.
Change-Id: Ice77d83100eba339602bbdf374fec8546d4d1e12
Diffstat (limited to 'vcl/source/gdi/outdev6.cxx')
-rw-r--r-- | vcl/source/gdi/outdev6.cxx | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/vcl/source/gdi/outdev6.cxx b/vcl/source/gdi/outdev6.cxx index 4297e483bce8..c8550490c384 100644 --- a/vcl/source/gdi/outdev6.cxx +++ b/vcl/source/gdi/outdev6.cxx @@ -612,6 +612,9 @@ void OutputDevice::DrawTransparent( const GDIMetaFile& rMtf, const Point& rPos, mpMetaFile->AddAction( new MetaFloatTransparentAction( rMtf, rPos, rSize, rTransparenceGradient ) ); } + if ( !IsDeviceOutputNecessary() ) + return; + if( ( rTransparenceGradient.GetStartColor() == aBlack && rTransparenceGradient.GetEndColor() == aBlack ) || ( mnDrawMode & ( DRAWMODE_NOTRANSPARENCY ) ) ) { |