canvas/source/cairo/cairo_canvasbitmap.cxx | 2 +- oox/source/ppt/extdrawingfragmenthandler.cxx | 7 +++++-- vcl/inc/vcl/gdimtf.hxx | 2 +- vcl/source/gdi/gdimtf.cxx | 15 ++++++++++----- vcl/source/gdi/pdfwriter_impl2.cxx | 2 +- 5 files changed, 18 insertions(+), 10 deletions(-)
New commits: commit e00faa6f01ea4437c25c64cb5b7fa7fbfdfdb9f2 Author: Thorsten Behrens <tbehr...@suse.com> Date: Wed May 15 01:28:50 2013 +0200 Fix fdo#64579 Don't assume dsp:dataModelExt has valid DrawingML. Just don't assume the DSP_TOKEN( spTree ) was seen in input. Change-Id: Iaabdcafdfcfc995198c1265e975df4dde8e0a39c (cherry picked from commit 0f15a477aaba2f69a13c0bc61c5c8c7a47314680) diff --git a/oox/source/ppt/extdrawingfragmenthandler.cxx b/oox/source/ppt/extdrawingfragmenthandler.cxx index f065415..dc62bd6 100644 --- a/oox/source/ppt/extdrawingfragmenthandler.cxx +++ b/oox/source/ppt/extdrawingfragmenthandler.cxx @@ -86,8 +86,11 @@ ExtDrawingFragmentHandler::createFastChildContext( ::sal_Int32 aElement, } void SAL_CALL ExtDrawingFragmentHandler::endDocument() throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException) { - mpShapePtr->moveAllToPosition( mpOrgShapePtr->getPosition() ); - mpShapePtr->setName( mpOrgShapePtr->getName() ); + if( mpShapePtr ) + { + mpShapePtr->moveAllToPosition( mpOrgShapePtr->getPosition() ); + mpShapePtr->setName( mpOrgShapePtr->getName() ); + } } } } commit 44d92cfa4143475dba8414a94150bc669aeb9909 Author: Thorsten Behrens <tbehr...@suse.com> Date: Sat May 11 23:09:37 2013 +0200 Fix indent. Change-Id: Ia02968ccc12df994bc8528794e8f55a5eeda25be diff --git a/canvas/source/cairo/cairo_canvasbitmap.cxx b/canvas/source/cairo/cairo_canvasbitmap.cxx index c0759c0..6839548 100644 --- a/canvas/source/cairo/cairo_canvasbitmap.cxx +++ b/canvas/source/cairo/cairo_canvasbitmap.cxx @@ -134,7 +134,7 @@ namespace cairocanvas return maCanvasHelper.repaint( pSurface, viewState, renderState ); } - void SAL_CALL CanvasBitmap::setFastPropertyValue( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rAny ) throw (uno::RuntimeException) + void SAL_CALL CanvasBitmap::setFastPropertyValue( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rAny ) throw (uno::RuntimeException) { sal_Int64 nPointer; commit 4c676625d4016d428e9becd5512b7cfc8b0c4b24 Author: Radek Doulik <r...@novell.com> Date: Mon Apr 29 00:00:00 2013 +0200 Fix bnc#795857 Use correct sizes for EMF+ bitmap rendering Fix pdf export wrong size issues for embedded EMF+ images. Change-Id: I998c9535bde32fc9f452d61d7cb7609c95f5528d diff --git a/vcl/inc/vcl/gdimtf.hxx b/vcl/inc/vcl/gdimtf.hxx index ecefb90..90fce69 100644 --- a/vcl/inc/vcl/gdimtf.hxx +++ b/vcl/inc/vcl/gdimtf.hxx @@ -124,7 +124,7 @@ private: const OutputDevice& rMapDev, const PolyPolygon& rPolyPoly, const Gradient& rGrad ); - SAL_DLLPRIVATE bool ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, Size rDestSize ); + SAL_DLLPRIVATE bool ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, Size rLogicDestSize ); SAL_DLLPRIVATE void ImplDelegate2PluggableRenderer( const MetaCommentAction* pAct, OutputDevice* pOut ); diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx index 3fbb01c..526196d 100644 --- a/vcl/source/gdi/gdimtf.cxx +++ b/vcl/source/gdi/gdimtf.cxx @@ -399,7 +399,7 @@ void GDIMetaFile::Play( OutputDevice* pOut, size_t nPos ) OSL_TRACE("GDIMetaFile::Play on device of size: %d x %d", pOut->GetOutputSizePixel().Width(), pOut->GetOutputSizePixel().Height()); - if( !ImplPlayWithRenderer( pOut, Point(0,0), pOut->GetOutputSizePixel() ) ) { + if( !ImplPlayWithRenderer( pOut, Point(0,0), pOut->GetOutputSize() ) ) { size_t i = 0; for( size_t nCurPos = nCurrentActionElement; nCurPos < nPos; nCurPos++ ) { @@ -430,11 +430,13 @@ void GDIMetaFile::Play( OutputDevice* pOut, size_t nPos ) // ------------------------------------------------------------------------ -bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, Size rDestSize ) +bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, Size rLogicDestSize ) { if (!bUseCanvas) return false; + Size rDestSize( pOut->LogicToPixel( rLogicDestSize ) ); + const Window* win = dynamic_cast <Window*> ( pOut ); if (!win) @@ -485,7 +487,7 @@ bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, S uno::Any aAny = xFastPropertySet->getFastPropertyValue( 0 ); BitmapEx* pBitmapEx = (BitmapEx*) *reinterpret_cast<const sal_Int64*>(aAny.getValue()); if( pBitmapEx ) { - pOut->DrawBitmapEx( rPos, *pBitmapEx ); + pOut->DrawBitmapEx( rPos, rLogicDestSize, *pBitmapEx ); delete pBitmapEx; return true; } @@ -497,7 +499,10 @@ bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, S if( pSalBmp->Create( xBitmapCanvas, aSize ) ) { Bitmap aBitmap( pSalBmp ); - pOut->DrawBitmap( rPos, aBitmap ); + if ( pOut->GetMapMode() == MAP_PIXEL ) + pOut->DrawBitmap( rPos, aBitmap ); + else + pOut->DrawBitmap( rPos, rLogicDestSize, aBitmap ); return true; } @@ -602,7 +607,7 @@ void GDIMetaFile::Play( OutputDevice* pOut, const Point& rPos, { GDIMetaFile* pMtf = pOut->GetConnectMetaFile(); - if( ImplPlayWithRenderer( pOut, rPos, aDestSize ) ) + if( ImplPlayWithRenderer( pOut, rPos, rSize ) ) return; Size aTmpPrefSize( pOut->LogicToPixel( GetPrefSize(), aDrawMap ) ); diff --git a/vcl/source/gdi/pdfwriter_impl2.cxx b/vcl/source/gdi/pdfwriter_impl2.cxx index beee461..8579168 100644 --- a/vcl/source/gdi/pdfwriter_impl2.cxx +++ b/vcl/source/gdi/pdfwriter_impl2.cxx @@ -769,7 +769,7 @@ void PDFWriterImpl::playMetafile( const GDIMetaFile& i_rMtf, vcl::PDFExtOutDevDa const MetaBmpAction* pA = (const MetaBmpAction*) pAction; BitmapEx aBitmapEx( pA->GetBitmap() ); Size aSize( OutputDevice::LogicToLogic( aBitmapEx.GetPrefSize(), - aBitmapEx.GetPrefMapMode(), pDummyVDev->GetMapMode() ) ); + aBitmapEx.GetPrefMapMode(), pDummyVDev->GetMapMode() ) ); if( ! ( aSize.Width() && aSize.Height() ) ) aSize = pDummyVDev->PixelToLogic( aBitmapEx.GetSizePixel() ); implWriteBitmapEx( pA->GetPoint(), aSize, aBitmapEx, pDummyVDev, i_rContext ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits