bin/get-bugzilla-attachments-by-mimetype | 1 cppcanvas/source/mtfrenderer/emfplus.cxx | 11 +++++++- cppuhelper/source/shlib.cxx | 42 ++++++++++++------------------- solenv/gbuild/ComponentTarget.mk | 4 ++ svtools/inc/svtools/transfer.hxx | 7 +++++ vcl/source/filter/wmf/emfwr.cxx | 15 ++++++++++- vcl/source/gdi/gdimtf.cxx | 8 ++++- 7 files changed, 59 insertions(+), 29 deletions(-)
New commits: commit 6e18e1f54b7527e012f67a36666b7f307be4e293 Author: Michael Stahl <mst...@redhat.com> Date: Mon Feb 25 14:03:35 2013 +0100 get-bugzilla-attachments-by-mimetype: add "application/vnd.visio.xml" Change-Id: I113f7bf3fd4194011efe83b1776ca42ad489f652 diff --git a/bin/get-bugzilla-attachments-by-mimetype b/bin/get-bugzilla-attachments-by-mimetype index 6d5177b..ebdd2d1 100755 --- a/bin/get-bugzilla-attachments-by-mimetype +++ b/bin/get-bugzilla-attachments-by-mimetype @@ -280,6 +280,7 @@ mimetypes = { 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': 'docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.template': 'dotx', 'application/vnd.visio': 'vsd', + 'application/vnd.visio.xml': 'vdx', # W3C 'application/xhtml+xml': 'xhtml', 'application/mathml+xml': 'mml', commit bf8450cfa2e9e899c716fbddadd7d5485aefe520 Author: Michael Stahl <mst...@redhat.com> Date: Mon Feb 25 13:22:07 2013 +0100 fdo#59405 fdo#60638: EMFWriter::ImplWrite: write EMF_PLUS "comments" When editing the Visio OLE object, there is a "preview" file generated, which is apparently an EMF file (strangely initially inserting the Visio object seems to result in a totally unproblematic WMF file). The EMF file apparently has almost its entire content stored in MetaCommentAction of type "EMF_PLUS", which is thrown away when writing the file again. Change-Id: I77a08454da673c1825aaa8421606737e7e8bc82c diff --git a/vcl/source/filter/wmf/emfwr.cxx b/vcl/source/filter/wmf/emfwr.cxx index b5af460..603ca06 100644 --- a/vcl/source/filter/wmf/emfwr.cxx +++ b/vcl/source/filter/wmf/emfwr.cxx @@ -1601,12 +1601,25 @@ void EMFWriter::ImplWrite( const GDIMetaFile& rMtf ) break; } + case( META_COMMENT_ACTION ): + { + MetaCommentAction const*const pCommentAction( + static_cast<MetaCommentAction const*>(pAction)); + if (pCommentAction->GetComment() == "EMF_PLUS") + { + ImplBeginCommentRecord(WIN_EMR_COMMENT_EMFPLUS); + m_rStm.Write(pCommentAction->GetData(), + pCommentAction->GetDataSize()); + ImplEndCommentRecord(); + } + } + break; + case( META_MASK_ACTION ): case( META_MASKSCALE_ACTION ): case( META_MASKSCALEPART_ACTION ): case( META_WALLPAPER_ACTION ): case( META_TEXTLINE_ACTION ): - case( META_COMMENT_ACTION ): case( META_GRADIENTEX_ACTION ): { // !!! >>> we don't want to support these actions commit ec0d1440cf07008a220708535848567bcbb233ea Author: Michael Stahl <mst...@redhat.com> Date: Mon Feb 25 13:15:19 2013 +0100 fdo#59405: cppcanvas: fix infinite loop in processEMFPlus This can be observed when inserting the bugdoc from fdo#59405. Apparently the "size" and "length" do not agree; ensure that the "length" does not underflow. Change-Id: Idfc68919859b8284c724831de21208e4392af328 diff --git a/cppcanvas/source/mtfrenderer/emfplus.cxx b/cppcanvas/source/mtfrenderer/emfplus.cxx index f1b0eff..0c9db41 100644 --- a/cppcanvas/source/mtfrenderer/emfplus.cxx +++ b/cppcanvas/source/mtfrenderer/emfplus.cxx @@ -1763,7 +1763,16 @@ namespace cppcanvas rMF.Seek (next); - length -= size; + if (size <= length) + { + length -= size; + } + else + { + SAL_WARN("cppcanvas", "ImplRenderer::processEMFPlus: " + "size " << size << " > length " << length); + length = 0; + } } } } commit 0cf6433117477642897fb2d874a4353eff8a1f35 Author: Michael Stahl <mst...@redhat.com> Date: Mon Feb 25 13:11:04 2013 +0100 fdo#59405: initialize members of TransferableObjectDescriptor The mnViewAspect member is otherwise only initialized if a SOT_FORMATSTR_ID_OBJECTDESCRIPTOR thingy is in the clipboard, which only happens if the clipboard source is OOo/LO. When inserting an OLE object, the value MSOLE_CONTENT apparently results in requesting the current size from the OLE object, which looks much better than the square default. Change-Id: I8c7fb80a8ae88272f1ecaf3a375bef5d917f2a5b diff --git a/svtools/inc/svtools/transfer.hxx b/svtools/inc/svtools/transfer.hxx index 25c0d52..93dab75 100644 --- a/svtools/inc/svtools/transfer.hxx +++ b/svtools/inc/svtools/transfer.hxx @@ -37,6 +37,7 @@ #include <com/sun/star/datatransfer/dnd/DropTargetDropEvent.hpp> #include <com/sun/star/datatransfer/dnd/XDragSourceListener.hpp> #include <com/sun/star/datatransfer/dnd/XDropTargetListener.hpp> +#include <com/sun/star/embed/Aspects.hpp> #include <com/sun/star/io/XInputStream.hpp> // ------------------------ @@ -82,6 +83,12 @@ struct TransferableObjectDescriptor String maDisplayName; sal_Bool mbCanLink; + TransferableObjectDescriptor() + : mnViewAspect(::com::sun::star::embed::Aspects::MSOLE_CONTENT) + , mnOle2Misc(0) + , mbCanLink(false) + {} + SVT_DLLPUBLIC friend SvStream& operator>>( SvStream& rIStm, TransferableObjectDescriptor& rObjDesc ); SVT_DLLPUBLIC friend SvStream& operator<<( SvStream& rOStm, const TransferableObjectDescriptor& rObjDesc ); }; commit e97062ef8c9a25ab6187216553b79654195549ba Author: Michael Stahl <mst...@redhat.com> Date: Mon Feb 25 13:10:26 2013 +0100 vcl: GDIMetaFile: log some exceptions Change-Id: I98794721c21231800d7d28cbdd34dd300b69a9c2 diff --git a/vcl/source/gdi/gdimtf.cxx b/vcl/source/gdi/gdimtf.cxx index cb2fb16..a1d2c36 100644 --- a/vcl/source/gdi/gdimtf.cxx +++ b/vcl/source/gdi/gdimtf.cxx @@ -514,9 +514,11 @@ bool GDIMetaFile::ImplPlayWithRenderer( OutputDevice* pOut, const Point& rPos, S { throw; // runtime errors are fatal } - catch (const uno::Exception&) + catch (const uno::Exception& e) { // ignore errors, no way of reporting them here + SAL_WARN("vcl", + "GDIMetaFile::ImplPlayWithRenderer: exception: " << e.Message); } return false; @@ -586,9 +588,11 @@ void GDIMetaFile::ImplDelegate2PluggableRenderer( const MetaCommentAction* pAct, // runtime errors are fatal throw; } - catch (const uno::Exception&) + catch (const uno::Exception& e) { // ignore errors, no way of reporting them here + SAL_WARN("vcl", "GDIMetaFile::ImplDelegate2PluggableRenderer:" + " exception: " << e.Message); } } } commit 113a9273412b59c1ae1d1728705e1105fe3f2a93 Author: Michael Stahl <mst...@redhat.com> Date: Mon Feb 25 13:08:35 2013 +0100 cppuhelper: log failures from osl_loadModule calls Change-Id: I37099d15cd403f48ca1716414f2e79cc1213d8c8 diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx index 9fe86e4..0408c37 100644 --- a/cppuhelper/source/shlib.cxx +++ b/cppuhelper/source/shlib.cxx @@ -484,9 +484,10 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory( OUString aModulePath( makeComponentPath( sLibName, rPath ) ); if (! checkAccessPath( &aModulePath )) { - throw loader::CannotActivateFactoryException( - "permission denied to load component library: " + - aModulePath, + OUString const msg( + "permission denied to load component library: " + aModulePath); + SAL_WARN("cppuhelper", msg); + throw loader::CannotActivateFactoryException(msg, Reference< XInterface >() ); } @@ -494,8 +495,9 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory( aModulePath.pData, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL ); if (! lib) { - throw loader::CannotActivateFactoryException( - "loading component library failed: " + aModulePath, + OUString const msg("loading component library failed: " + aModulePath); + SAL_WARN("cppuhelper", msg); + throw loader::CannotActivateFactoryException(msg, Reference< XInterface >() ); } #else @@ -607,11 +609,7 @@ Reference< XInterface > SAL_CALL loadSharedLibComponentFactory( #ifndef DISABLE_DYNLOADING osl_unloadModule( lib ); #endif -#if OSL_DEBUG_LEVEL > 1 - out( "### cannot activate factory: " ); - out( aExcMsg ); - out( "\n" ); -#endif + SAL_WARN("cppuhelper", "### cannot activate factory: " << aExcMsg); throw loader::CannotActivateFactoryException( aExcMsg, Reference< XInterface >() ); @@ -639,11 +637,7 @@ Reference< XInterface > SAL_CALL invokeStaticComponentFactory( if (! xRet.is()) { -#if OSL_DEBUG_LEVEL > 1 - out( "### cannot activate factory: " ); - out( aExcMsg ); - out( "\n" ); -#endif + SAL_WARN("cppuhelper", "### cannot activate factory: " << aExcMsg); throw loader::CannotActivateFactoryException( aExcMsg, Reference< XInterface >() ); @@ -676,9 +670,10 @@ void SAL_CALL writeSharedLibComponentInfo( if (! checkAccessPath( &aModulePath )) { - throw registry::CannotRegisterImplementationException( - "permission denied to load component library: " + - aModulePath, + OUString const msg( + "permission denied to load component library: " + aModulePath); + SAL_WARN("cppuhelper", msg); + throw registry::CannotRegisterImplementationException(msg, Reference< XInterface >() ); } @@ -686,8 +681,9 @@ void SAL_CALL writeSharedLibComponentInfo( aModulePath.pData, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL ); if (! lib) { - throw registry::CannotRegisterImplementationException( - "loading component library failed: " + aModulePath, + OUString const msg("loading component library failed: " + aModulePath); + SAL_WARN("cppuhelper", msg); + throw registry::CannotRegisterImplementationException(msg, Reference< XInterface >() ); } @@ -768,11 +764,7 @@ void SAL_CALL writeSharedLibComponentInfo( //! ::osl_unloadModule( lib); if (! bRet) { -#if OSL_DEBUG_LEVEL > 1 - out( "### cannot write component info: " ); - out( aExcMsg ); - out( "\n" ); -#endif + SAL_WARN("cppuhelper", "### cannot write component info: " << aExcMsg); throw registry::CannotRegisterImplementationException( aExcMsg, Reference< XInterface >() ); } commit 0e273d6fb8566e7f8df1be6f2f440fe357991878 Author: Michael Stahl <mst...@redhat.com> Date: Mon Feb 25 13:06:18 2013 +0100 gbuild: ComponentTarget: rebuild if library names change Stale component files result in failure to load libraries in incremental builds; because rebuilding these is fast just depend on the 2 Repository makefiles that define the library file names. Change-Id: Ia72a0460d3bb8bceb0e17334415ca3dde0401c24 diff --git a/solenv/gbuild/ComponentTarget.mk b/solenv/gbuild/ComponentTarget.mk index 866b07d..313b185 100644 --- a/solenv/gbuild/ComponentTarget.mk +++ b/solenv/gbuild/ComponentTarget.mk @@ -51,8 +51,12 @@ $(call gb_ComponentTarget_get_clean_target,%) : $(call gb_ComponentTarget_get_target,$*) \ +# when a library is renamed, the component file needs to be rebuilt to match. +# hence simply depend on Repository{,Fixes}.mk since the command runs quickly. $(call gb_ComponentTarget_get_target,%) : \ $(call gb_ComponentTarget_get_source,%) \ + $(SRCDIR)/Repository.mk \ + $(SRCDIR)/RepositoryFixes.mk \ | $(call gb_ExternalExecutable_get_dependencies,xsltproc) $(call gb_ComponentTarget__command,$@,$<,$*) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits