CVS wrapper -- version: 1.101 Index: embedtransfer.cxx =================================================================== RCS file: /cvs/util/svtools/source/misc/embedtransfer.cxx,v retrieving revision 1.10 diff -u -p -r1.10 embedtransfer.cxx --- embedtransfer.cxx 27 Jun 2007 21:49:16 -0000 1.10 +++ embedtransfer.cxx 26 Jul 2007 10:32:45 -0000 @@ -250,18 +250,22 @@ void SvEmbedTransferHelper::FillTransfer { try { - awt::Size aSz; - aSz = xObj->getVisualAreaSize( rDesc.mnViewAspect ); - aSize = Size( aSz.Width, aSz.Height ); + awt::Size aSz; + aSz = xObj->getVisualAreaSize( rDesc.mnViewAspect ); + aSize = Size( aSz.Width, aSz.Height ); + aMapMode = MapMode( VCLUnoHelper::UnoEmbed2VCLMapUnit( xObj->getMapUnit( rDesc.mnViewAspect ) ) ); } catch( embed::NoVisualAreaSizeException& ) { OSL_ENSURE( sal_False, "Can not get visual area size!\n" ); - aSize = Size( 5000, 5000 ); + if ( pGraphic ) + { + aMapMode = pGraphic->GetPrefMapMode(); + aSize = pGraphic->GetPrefSize(); + } + else + aSize = Size( 5000, 5000 ); } - - // TODO/LEAN: getMapUnit can switch object to running state - aMapMode = MapMode( VCLUnoHelper::UnoEmbed2VCLMapUnit( xObj->getMapUnit( rDesc.mnViewAspect ) ) ); } rDesc.maSize = OutputDevice::LogicToLogic( aSize, aMapMode, MapMode( MAP_100TH_MM ) );