filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx | 11 +++++++++++ 1 file changed, 11 insertions(+)
New commits: commit 45d4f88ec66e9341783b1aeea1f1589570cf773b Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Fri Feb 16 11:01:10 2018 +0100 filter: speedup nested importers by not notifying constantly For example the PDF import into Draw would otherwise waste many cycles on needlessly notifying several times per shape loaded. (cherry picked from commit b7d9b1fe9edab1e250dc9d52e75db8880ac79cbb) Conflicts: filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx Change-Id: I7d28abb7886b5c1728726b7d42578459e56e7f62 diff --git a/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx b/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx index 88d829dead0b..f650ce7c365c 100644 --- a/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx +++ b/filter/source/xmlfilteradaptor/XmlFilterAdaptor.cxx @@ -40,6 +40,7 @@ #include <com/sun/star/task/XStatusIndicatorFactory.hpp> #include <com/sun/star/style/XStyleFamiliesSupplier.hpp> #include <com/sun/star/style/XStyleLoader.hpp> +#include <com/sun/star/frame/XModel.hpp> #include <com/sun/star/container/XNameAccess.hpp> #include <comphelper/fileurl.hxx> #include <comphelper/processfactory.hxx> @@ -48,6 +49,7 @@ #include <com/sun/star/beans/PropertyAttribute.hpp> #include <comphelper/genericpropertyset.hxx> #include <comphelper/propertysetinfo.hxx> +#include <comphelper/scopeguard.hxx> #include <cppuhelper/supportsservice.hxx> #include <unotools/pathoptions.hxx> @@ -130,6 +132,15 @@ bool SAL_CALL XmlFilterAdaptor::importImpl( const Sequence< css::beans::Property Reference< XImportFilter > xConverter( xConvBridge, UNO_QUERY ); + // prevent unnecessary broadcasting when loading + Reference< XModel > xModel( mxDoc, UNO_QUERY ); + if( xModel.is() ) + xModel->lockControllers(); + comphelper::ScopeGuard guard([&]() { + // cleanup when leaving + if( xModel.is() ) + xModel->unlockControllers(); + }); //Template Loading if Required _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits