Rebased ref, commits from common ancestor: commit 9d97bf50ee7d8cf157f4bab3bb0a19ea6a918a51 Author: Tor Lillqvist <t...@collabora.com> Date: Mon Nov 2 22:29:23 2015 +0200
The glyphy configury takes no --enable/disable-debug option Change-Id: Id098945656c0d97a0fc11efb42a0d09efb3e5557 diff --git a/external/glyphy/ExternalProject_glyphy.mk b/external/glyphy/ExternalProject_glyphy.mk index 463cb81..6243187 100644 --- a/external/glyphy/ExternalProject_glyphy.mk +++ b/external/glyphy/ExternalProject_glyphy.mk @@ -29,7 +29,6 @@ $(call gb_ExternalProject_get_state_target,glyphy,build) : , \ --enable-shared --disable-static \ ) \ - $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \ $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ && $(if $(verbose),V=1) \ commit 1c4859722b2ebb9cd8b0db0b6fdf734eead64db7 Author: Tor Lillqvist <t...@collabora.com> Date: Mon Nov 2 22:28:29 2015 +0200 We (unintentionally?) build a static archive with MSVC Change-Id: Ief0ccec4b63e2ac767285f4c19175fa000eaad6c diff --git a/external/glyphy/ExternalPackage_glyphy.mk b/external/glyphy/ExternalPackage_glyphy.mk index cbae840..b4a32fc 100644 --- a/external/glyphy/ExternalPackage_glyphy.mk +++ b/external/glyphy/ExternalPackage_glyphy.mk @@ -13,6 +13,8 @@ $(eval $(call gb_ExternalPackage_use_external_project,glyphy,glyphy)) ifeq ($(OS),MACOSX) $(eval $(call gb_ExternalPackage_add_file,glyphy,$(LIBO_LIB_FOLDER)/libglyphy.dylib,src/.libs/libglyphy.dylib)) +else ifeq ($(OS),WNT) +# We build a static archive with MSVC, so nothing to add else ifeq ($(DISABLE_DYNLOADING),) $(eval $(call gb_ExternalPackage_add_file,glyphy,$(LIBO_LIB_FOLDER)/libglyphy.so.0,src/.libs/libglyphy.so.0.0.0)) endif commit 8ef19fe4c28fe55c3f74cfdf6675afaa30eec333 Author: Tor Lillqvist <t...@collabora.com> Date: Mon Nov 2 22:27:24 2015 +0200 Need _USE_MATH_DEFINES with MSVC for M_PI_2 Change-Id: Ieb7671480b88304a94066965d10d455865915090 diff --git a/external/glyphy/ExternalProject_glyphy.mk b/external/glyphy/ExternalProject_glyphy.mk index 1eda015..463cb81 100644 --- a/external/glyphy/ExternalProject_glyphy.mk +++ b/external/glyphy/ExternalProject_glyphy.mk @@ -21,6 +21,7 @@ $(eval $(call gb_ExternalProject_use_externals,glyphy, \ $(call gb_ExternalProject_get_state_target,glyphy,build) : $(call gb_ExternalProject_run,build,\ + $(if $(filter MSC,$(COM)),CPPFLAGS=-D_USE_MATH_DEFINES) \ MAKE=$(MAKE) ./configure \ --with-pic \ $(if $(DISABLE_DYNLOADING), \ commit 424bf08e677e7644293ca45c0ad43df6dddeb2dd Author: Tor Lillqvist <t...@collabora.com> Date: Mon Nov 2 18:14:10 2015 +0200 Fix some thinkos or copy-paste mistakes for glyphy Change-Id: Ie008086c2a34081c9f50a61808b73b66eda58e2c diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index e4e8b03..9cadb13 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -288,14 +288,14 @@ endef endif # SYSTEM_GLEW -$(eval $(call gb_Helper_register_packages_for_install,ooo,\ - liborcus \ -)) - -ifneq ($(SYSTEM_GLEW),) +ifneq ($(SYSTEM_GLYPHY),) else # !SYSTEM_GLYPHY +$(eval $(call gb_Helper_register_packages_for_install,ooo,\ + glyphy \ +)) + define gb_LinkTarget__use_glyphy $(call gb_LinkTarget_use_package,$(1),glyphy) @@ -310,7 +310,7 @@ $(call gb_LinkTarget_add_libs,$(1),\ endef -endif GLYPHY +endif # SYSTEM_GLYPHY define gb_LinkTarget__use_iconv $(call gb_LinkTarget_add_libs,$(1),-liconv) diff --git a/config_host.mk.in b/config_host.mk.in index d04374a..cde8e90 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -525,6 +525,7 @@ export SYSTEM_GENCCODE=@SYSTEM_GENCCODE@ export SYSTEM_GENCMN=@SYSTEM_GENCMN@ export SYSTEM_GLEW=@SYSTEM_GLEW@ export SYSTEM_GLM=@SYSTEM_GLM@ +export SYSTEM_GLYPHY=@SYSTEM_GLYPHY@ export SYSTEM_GRAPHITE=@SYSTEM_GRAPHITE@ export SYSTEM_HARFBUZZ=@SYSTEM_HARFBUZZ@ export SYSTEM_HSQLDB=@SYSTEM_HSQLDB@ diff --git a/external/Module_external.mk b/external/Module_external.mk index 9daf548..7c78c7d 100644 --- a/external/Module_external.mk +++ b/external/Module_external.mk @@ -45,6 +45,7 @@ $(eval $(call gb_Module_add_moduledirs,external,\ $(call gb_Helper_optional,FREETYPE,freetype) \ $(call gb_Helper_optional,GLEW,glew) \ $(call gb_Helper_optional,GLM,glm) \ + $(call gb_Helper_optional,GLYPHY,glyphy) \ $(call gb_Helper_optional,GRAPHITE,graphite) \ $(call gb_Helper_optional,HARFBUZZ,harfbuzz) \ $(call gb_Helper_optional,HSQLDB,hsqldb) \ diff --git a/external/glyphy/Module_glyphy.mk b/external/glyphy/Module_glyphy.mk index 084c542..6228bba 100644 --- a/external/glyphy/Module_glyphy.mk +++ b/external/glyphy/Module_glyphy.mk @@ -9,7 +9,7 @@ $(eval $(call gb_Module_Module,glyphy)) -$(eval $(call gb_Module_add_targets,liborcus,\ +$(eval $(call gb_Module_add_targets,glyphy,\ UnpackedTarball_glyphy \ )) commit 3b16ce57ad11c769a22067df4b8f0734c399c3cc Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Wed Oct 14 15:06:55 2015 +0200 link vcl against libglyphy Change-Id: I5b206f5d857d28acda82ce8ac53f835142f46da2 diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk index 27e008b..e4e8b03 100644 --- a/RepositoryExternal.mk +++ b/RepositoryExternal.mk @@ -288,6 +288,30 @@ endef endif # SYSTEM_GLEW +$(eval $(call gb_Helper_register_packages_for_install,ooo,\ + liborcus \ +)) + +ifneq ($(SYSTEM_GLEW),) + +else # !SYSTEM_GLYPHY + +define gb_LinkTarget__use_glyphy +$(call gb_LinkTarget_use_package,$(1),glyphy) + +$(call gb_LinkTarget_set_include,$(1),\ + -I$(call gb_UnpackedTarball_get_dir,glyphy/include) \ + $$(INCLUDE) \ +) + +$(call gb_LinkTarget_add_libs,$(1),\ + -L$(call gb_UnpackedTarball_get_dir,glyphy)/src/.libs -lglyphy \ +) + +endef + +endif GLYPHY + define gb_LinkTarget__use_iconv $(call gb_LinkTarget_add_libs,$(1),-liconv) diff --git a/external/glyphy/ExternalPackage_glyphy.mk b/external/glyphy/ExternalPackage_glyphy.mk index 484590d..cbae840 100644 --- a/external/glyphy/ExternalPackage_glyphy.mk +++ b/external/glyphy/ExternalPackage_glyphy.mk @@ -11,4 +11,10 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,glyphy,glyphy)) $(eval $(call gb_ExternalPackage_use_external_project,glyphy,glyphy)) +ifeq ($(OS),MACOSX) +$(eval $(call gb_ExternalPackage_add_file,glyphy,$(LIBO_LIB_FOLDER)/libglyphy.dylib,src/.libs/libglyphy.dylib)) +else ifeq ($(DISABLE_DYNLOADING),) +$(eval $(call gb_ExternalPackage_add_file,glyphy,$(LIBO_LIB_FOLDER)/libglyphy.so.0,src/.libs/libglyphy.so.0.0.0)) +endif + # vim: set noet sw=4 ts=4: diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index a59c49b..8748d1e 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -738,6 +738,10 @@ $(eval $(call gb_Library_add_libs,vcl,\ -lXext \ )) +$(eval $(call gb_Library_use_externals,vcl,\ + glyphy \ +)) + $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/opengl/x11/X11DeviceInfo \ )) commit 263f238463716ee8938e641afbf6c4f283a84145 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Tue Oct 13 00:11:13 2015 +0200 integrate glyphy into the build The used glyphy is not directly the upstream version. We currently use a patched version that allows to disable the build for the demos. Change-Id: Ic03355e1ea8fbc56e57afa4f90a55741fe9a563a diff --git a/Makefile.fetch b/Makefile.fetch index 10317b3..8b2da4e 100644 --- a/Makefile.fetch +++ b/Makefile.fetch @@ -130,6 +130,7 @@ $(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR) $(call fetch_Optional,FREETYPE,FREETYPE_TARBALL) \ $(call fetch_Optional,GLEW,GLEW_TARBALL) \ $(call fetch_Optional,GLM,GLM_TARBALL) \ + $(call fetch_Optional,GLYPHY,GLYPHY_TARBALL) \ $(call fetch_Optional_pack,GOOGLE_DOCS_EXTENSION_PACK) \ $(call fetch_Optional,GRAPHITE,GRAPHITE_TARBALL) \ $(call fetch_Optional,HARFBUZZ,HARFBUZZ_TARBALL) \ diff --git a/configure.ac b/configure.ac index 2f064eb..50e9dde 100644 --- a/configure.ac +++ b/configure.ac @@ -8811,6 +8811,11 @@ AS_IF([test "$with_system_glew" = "yes"], [AC_DEFINE([HAVE_GLEW_1_12])]) dnl =================================================================== +dnl Check for system glyphy +dnl =================================================================== +libo_CHECK_SYSTEM_MODULE([glyphy], [GLYPHY], [glyphy >= 0.12.0], ["-I${WORKDIR}/UnpackedTarball/glyphy/include"]) + +dnl =================================================================== dnl Check for system vigra dnl =================================================================== AC_MSG_CHECKING([which vigra to use]) diff --git a/download.lst b/download.lst index 81a2354..4f0bfb0 100755 --- a/download.lst +++ b/download.lst @@ -52,6 +52,7 @@ export FREEHAND_TARBALL := libfreehand-0.1.1.tar.bz2 export FREETYPE_TARBALL := dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2 export GLEW_TARBALL := 3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip export GLM_TARBALL := bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip +export GLYPHY_TARBALL := 5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2 export GRAPHITE_TARBALL := 5c0c9ac0996fbb4a0e17780ff5441959-graphite2-minimal-1.3.4.tgz export HARFBUZZ_MD5SUM := 0e27e531f4c4acff601ebff0957755c2 export HARFBUZZ_TARBALL := harfbuzz-0.9.40.tar.bz2 diff --git a/external/glyphy/ExternalPackage_glyphy.mk b/external/glyphy/ExternalPackage_glyphy.mk new file mode 100644 index 0000000..484590d --- /dev/null +++ b/external/glyphy/ExternalPackage_glyphy.mk @@ -0,0 +1,14 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalPackage_ExternalPackage,glyphy,glyphy)) + +$(eval $(call gb_ExternalPackage_use_external_project,glyphy,glyphy)) + +# vim: set noet sw=4 ts=4: diff --git a/external/glyphy/ExternalProject_glyphy.mk b/external/glyphy/ExternalProject_glyphy.mk new file mode 100644 index 0000000..1eda015 --- /dev/null +++ b/external/glyphy/ExternalProject_glyphy.mk @@ -0,0 +1,38 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_ExternalProject_ExternalProject,glyphy)) + +$(eval $(call gb_ExternalProject_use_autoconf,glyphy,build)) + +$(eval $(call gb_ExternalProject_register_targets,glyphy,\ + build \ +)) + +$(eval $(call gb_ExternalProject_use_externals,glyphy, \ + glew \ +)) + +$(call gb_ExternalProject_get_state_target,glyphy,build) : + $(call gb_ExternalProject_run,build,\ + MAKE=$(MAKE) ./configure \ + --with-pic \ + $(if $(DISABLE_DYNLOADING), \ + --enable-static --disable-shared \ + , \ + --enable-shared --disable-static \ + ) \ + $(if $(ENABLE_DEBUG),--enable-debug,--disable-debug) \ + $(if $(filter MACOSX,$(OS)),--prefix=/@.__________________________________________________OOO) \ + $(if $(CROSS_COMPILING),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ + && $(if $(verbose),V=1) \ + $(MAKE) \ + ) + +# vim: set noet sw=4 ts=4: diff --git a/external/glyphy/Makefile b/external/glyphy/Makefile new file mode 100644 index 0000000..e4968cf --- /dev/null +++ b/external/glyphy/Makefile @@ -0,0 +1,7 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- + +module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST)))) + +include $(module_directory)/../../solenv/gbuild/partial_build.mk + +# vim: set noet sw=4 ts=4: diff --git a/external/glyphy/Module_glyphy.mk b/external/glyphy/Module_glyphy.mk new file mode 100644 index 0000000..084c542 --- /dev/null +++ b/external/glyphy/Module_glyphy.mk @@ -0,0 +1,21 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_Module_Module,glyphy)) + +$(eval $(call gb_Module_add_targets,liborcus,\ + UnpackedTarball_glyphy \ +)) + +$(eval $(call gb_Module_add_targets,glyphy,\ + ExternalPackage_glyphy \ + ExternalProject_glyphy \ +)) + +# vim: set noet sw=4 ts=4: diff --git a/external/glyphy/UnpackedTarball_glyphy.mk b/external/glyphy/UnpackedTarball_glyphy.mk new file mode 100644 index 0000000..8e2244b --- /dev/null +++ b/external/glyphy/UnpackedTarball_glyphy.mk @@ -0,0 +1,16 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +$(eval $(call gb_UnpackedTarball_UnpackedTarball,glyphy)) + +$(eval $(call gb_UnpackedTarball_set_tarball,glyphy,$(GLYPHY_TARBALL))) + +$(eval $(call gb_UnpackedTarball_set_patchlevel,glyphy,1)) + +# vim: set noet sw=4 ts=4: commit 41d90d6c7c41df781ecaf7745872f20abd7e52a9 Author: László Németh <laszlo.nem...@collabora.com> Date: Tue Nov 10 01:00:51 2015 +0100 tdf#92648 unit test for DOCX import regression (textbox shrinking) Change-Id: I810708bbd337b325ed58927fcdd67f24f70f1252 diff --git a/sw/qa/extras/uiwriter/data/tdf92648.docx b/sw/qa/extras/uiwriter/data/tdf92648.docx new file mode 100644 index 0000000..4857723 Binary files /dev/null and b/sw/qa/extras/uiwriter/data/tdf92648.docx differ diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 8924f28..f0b495d 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -167,6 +167,7 @@ public: void testTdf88986(); void testTdf87922(); void testTdf77014(); + void testTdf92648(); CPPUNIT_TEST_SUITE(SwUiWriterTest); CPPUNIT_TEST(testReplaceForward); @@ -243,6 +244,7 @@ public: CPPUNIT_TEST(testTdf88986); CPPUNIT_TEST(testTdf87922); CPPUNIT_TEST(testTdf77014); + CPPUNIT_TEST(testTdf92648); CPPUNIT_TEST_SUITE_END(); private: @@ -2743,6 +2745,21 @@ void SwUiWriterTest::testTdf77014() CPPUNIT_ASSERT_EQUAL(OUString("1"), parseDump("/root/page/body/txt[5]/Text[5]", "nLength")); } +void SwUiWriterTest::testTdf92648() +{ + SwDoc* pDoc = createDoc("tdf92648.docx"); + SdrPage* pPage = pDoc->getIDocumentDrawModelAccess().GetDrawModel()->GetPage(0); + std::set<const SwFrameFormat*> aTextBoxes = SwTextBoxHelper::findTextBoxes(pDoc); + // Make sure we have ten draw shapes. + CPPUNIT_ASSERT_EQUAL(sal_Int32(10), SwTextBoxHelper::getCount(pPage, aTextBoxes)); + // and the text boxes haven't got zero height + for (std::set<const SwFrameFormat*>::iterator it=aTextBoxes.begin(); it!=aTextBoxes.end(); ++it) + { + SwFormatFrmSize aSize((*it)->GetFrmSize()); + CPPUNIT_ASSERT(aSize.GetHeight() != 0); + } +} + CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest); CPPUNIT_PLUGIN_IMPLEMENT(); commit 6540c288372c3cbb94a30daa5a40e97690cb0ea5 Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Mon Nov 9 15:58:53 2015 +0100 Remove misleading 'make build' line from gbuild help Change-Id: If389e2dc6f5af07662e6ab8aa94e0e9ce8e30f5b Reviewed-on: https://gerrit.libreoffice.org/19865 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt index 9364994..35b97c7 100644 --- a/solenv/gbuild/gbuild.help.txt +++ b/solenv/gbuild/gbuild.help.txt @@ -28,7 +28,6 @@ IMPORTANT OPTIONS AVAILABLE TARGETS all build product and run unit tests (default goal) - build build product unitcheck run unit tests slowcheck run slow unit tests subsequentcheck run system tests (requires full installation) @@ -43,6 +42,7 @@ AVAILABLE TARGETS NOTE: needs graphviz to work showmodules shows all registered modules <module> build the named module + <module>.build build the named module without running unittests <module>.check run unittests of the named module <module>.clean clean the named module <module>.all build the named module and the pre-requisite modules for it commit 453cf8a4c44b7935c3029524bfd40fa9c1d87753 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Nov 9 23:13:00 2015 +0100 yet another member of SwXTextPortion needs to be guarded in the dtor Change-Id: Ia1e3febd6a2f0c18c686a04ef5b98ee1ad2d8b88 diff --git a/sw/source/core/unocore/unoport.cxx b/sw/source/core/unocore/unoport.cxx index f3f8039..732dcc9 100644 --- a/sw/source/core/unocore/unoport.cxx +++ b/sw/source/core/unocore/unoport.cxx @@ -140,6 +140,11 @@ SwXTextPortion::~SwXTextPortion() { SolarMutexGuard aGuard; m_pUnoCursor.reset(nullptr); + if(m_FrameDepend.GetRegisteredIn()) + { + auto pFrameDepend(const_cast<SwDepend*>(&m_FrameDepend)); + pFrameDepend->GetRegisteredIn()->Remove(pFrameDepend); + } } uno::Reference< text::XText > SwXTextPortion::getText() commit 003ba90531b6ee5c3b3225298a1490ed9a7048a4 Author: Michael Stahl <mst...@redhat.com> Date: Mon Nov 9 20:55:59 2015 +0100 sc: replace boost::ptr_map with std::map<std::unique_ptr> Change-Id: I0cc3addefa436050259785ccf2ce540a84e9fcae diff --git a/sc/source/filter/xml/xmlimprt.cxx b/sc/source/filter/xml/xmlimprt.cxx index 62d128b..ad11e91 100644 --- a/sc/source/filter/xml/xmlimprt.cxx +++ b/sc/source/filter/xml/xmlimprt.cxx @@ -19,7 +19,6 @@ #include <sal/config.h> -#include <o3tl/ptr_container.hxx> #include <svl/zforlist.hxx> #include <sal/macros.h> @@ -2398,12 +2397,13 @@ bool ScXMLImport::GetValidation(const OUString& sName, ScMyImportValidation& aVa void ScXMLImport::AddNamedExpression(SCTAB nTab, ScMyNamedExpression* pNamedExp) { ::std::unique_ptr<ScMyNamedExpression> p(pNamedExp); - SheetNamedExpMap::iterator itr = maSheetNamedExpressions.find(nTab); - if (itr == maSheetNamedExpressions.end()) + SheetNamedExpMap::iterator itr = m_SheetNamedExpressions.find(nTab); + if (itr == m_SheetNamedExpressions.end()) { // No chain exists for this sheet. Create one. ::std::unique_ptr<ScMyNamedExpressions> pNew(new ScMyNamedExpressions); - ::std::pair<SheetNamedExpMap::iterator, bool> r = o3tl::ptr_container::insert(maSheetNamedExpressions, nTab, std::move(pNew)); + ::std::pair<SheetNamedExpMap::iterator, bool> r = + m_SheetNamedExpressions.insert(std::make_pair(nTab, std::move(pNew))); if (!r.second) // insertion failed. return; @@ -3157,15 +3157,14 @@ void ScXMLImport::SetSheetNamedRanges() if (!pDoc) return; - SheetNamedExpMap::const_iterator itr = maSheetNamedExpressions.begin(), itrEnd = maSheetNamedExpressions.end(); - for (; itr != itrEnd; ++itr) + for (auto const& itr : m_SheetNamedExpressions) { - SCTAB nTab = itr->first; + const SCTAB nTab = itr.first; ScRangeName* pRangeNames = pDoc->GetRangeName(nTab); if (!pRangeNames) continue; - const ScMyNamedExpressions& rNames = *itr->second; + const ScMyNamedExpressions& rNames = *itr.second; ::std::for_each(rNames.begin(), rNames.end(), RangeNameInserter(pDoc, *pRangeNames, *this)); } } diff --git a/sc/source/filter/xml/xmlimprt.hxx b/sc/source/filter/xml/xmlimprt.hxx index 4b562b8..b87e82a 100644 --- a/sc/source/filter/xml/xmlimprt.hxx +++ b/sc/source/filter/xml/xmlimprt.hxx @@ -42,12 +42,13 @@ #include <com/sun/star/util/XNumberFormatTypes.hpp> #include <com/sun/star/sheet/XSheetCellRangeContainer.hpp> +#include <boost/noncopyable.hpp> + #include <memory> #include <unordered_map> +#include <map> #include <vector> #include <list> -#include <boost/ptr_container/ptr_map.hpp> -#include <boost/noncopyable.hpp> class ScMyStyleNumberFormats; class XMLNumberFormatAttributesExportHelper; @@ -823,7 +824,7 @@ class ScXMLEditAttributeMap; class ScXMLImport: public SvXMLImport, boost::noncopyable { typedef std::unordered_map< OUString, sal_Int16, OUStringHash > CellTypeMap; - typedef ::boost::ptr_map<SCTAB, ScMyNamedExpressions> SheetNamedExpMap; + typedef ::std::map<SCTAB, std::unique_ptr<ScMyNamedExpressions>> SheetNamedExpMap; CellTypeMap aCellTypeMap; @@ -939,7 +940,7 @@ class ScXMLImport: public SvXMLImport, boost::noncopyable ScMyTables aTables; ScMyNamedExpressions* m_pMyNamedExpressions; - SheetNamedExpMap maSheetNamedExpressions; + SheetNamedExpMap m_SheetNamedExpressions; ScMyLabelRanges* pMyLabelRanges; ScMyImportValidations* pValidations; commit e61465d25f5e52bf439db65ed7a641722637034a Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Nov 9 20:46:38 2015 +0100 another missing SolarMutex in Writer UNO Change-Id: Ia9451b3f6180f97fda6ff16c65b5fbfcd17b75ec diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx index 3500551..28eb646 100644 --- a/sw/source/core/unocore/unoframe.cxx +++ b/sw/source/core/unocore/unoframe.cxx @@ -1260,8 +1260,11 @@ SwXFrame::SwXFrame(SwFrameFormat& rFrameFormat, FlyCntType eSet, const ::SfxItem SwXFrame::~SwXFrame() { + SolarMutexGuard aGuard; delete m_pCopySource; delete pProps; + if(GetRegisteredIn()) + GetRegisteredIn()->Remove(this); } template<class Interface, class NameLookupIsHard> commit c20930bfec4ce4953ffdaff1971216290fab0e4d Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Nov 9 19:55:13 2015 +0100 also fix SwXFlatParagraphIterator Change-Id: Ib35759c4d9e6ebc8e211d57d53d923f15ac9845a diff --git a/sw/source/core/unocore/unoflatpara.cxx b/sw/source/core/unocore/unoflatpara.cxx index 4628abc..62f77d8 100644 --- a/sw/source/core/unocore/unoflatpara.cxx +++ b/sw/source/core/unocore/unoflatpara.cxx @@ -361,6 +361,9 @@ SwXFlatParagraphIterator::SwXFlatParagraphIterator( SwDoc& rDoc, sal_Int32 nType SwXFlatParagraphIterator::~SwXFlatParagraphIterator() { + SolarMutexGuard aGuard; + if(GetRegisteredIn()) + GetRegisteredIn()->Remove(this); } void SwXFlatParagraphIterator::Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew ) commit df7f3c6733c1b4e4470554497f2c2aa96a442c30 Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Nov 9 19:42:57 2015 +0100 loplugin:redundantcast Change-Id: I8bfdb2c88b82dc9f1335d92589838cda4b1e7cf7 diff --git a/sc/source/ui/view/prevloc.cxx b/sc/source/ui/view/prevloc.cxx index 8dd0621..b0e407c 100644 --- a/sc/source/ui/view/prevloc.cxx +++ b/sc/source/ui/view/prevloc.cxx @@ -273,7 +273,7 @@ static ScPreviewLocationEntry* lcl_GetEntryByAddress( for (auto const& it : rEntries) { if ( it->eType == eType && it->aCellRange.In( rPos ) ) - return const_cast<ScPreviewLocationEntry*>(it.get()); + return it.get(); } return NULL; commit d9b03172af1b81c0aede3e7e94e83d8932f26150 Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Nov 9 18:44:05 2015 +0100 Clean up Sequence construction ...to avoid silly errors like the one fixed with 37039fde1187c2e71bdde6e7fafd23c6ae8a871e "Missing comma." Change-Id: Iab4d25f44fd8867ee1ef5e15c209ada5c6ebb0c8 Reviewed-on: https://gerrit.libreoffice.org/19871 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index 1aeac9a..9f01e34 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -94,72 +94,50 @@ struct NamespaceIds: public rtl::StaticWithInit< { Sequence< beans::Pair< OUString, sal_Int32 > > operator()() { - static const char* const namespaceURIs[] = { - "http://www.w3.org/XML/1998/namespace", - "http://schemas.openxmlformats.org/package/2006/relationships", - "http://schemas.openxmlformats.org/officeDocument/2006/relationships", - "http://purl.oclc.org/ooxml/officeDocument/relationships", - "http://schemas.openxmlformats.org/drawingml/2006/main", - "http://purl.oclc.org/ooxml/drawingml/main", - "http://schemas.openxmlformats.org/drawingml/2006/diagram", - "http://purl.oclc.org/ooxml/drawingml/diagram", - "http://schemas.openxmlformats.org/drawingml/2006/chart", - "http://schemas.openxmlformats.org/drawingml/2006/chartDrawing", - "urn:schemas-microsoft-com:vml", - "urn:schemas-microsoft-com:office:office", - "urn:schemas-microsoft-com:office:word", - "urn:schemas-microsoft-com:office:excel", - "urn:schemas-microsoft-com:office:powerpoint", - "http://schemas.microsoft.com/office/2006/activeX", - "http://schemas.openxmlformats.org/spreadsheetml/2006/main", - "http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing", - "http://schemas.microsoft.com/office/excel/2006/main", - "http://schemas.openxmlformats.org/presentationml/2006/main", - "http://schemas.openxmlformats.org/markup-compatibility/2006", - "http://schemas.openxmlformats.org/spreadsheetml/2006/main/v2", - "http://schemas.microsoft.com/office/drawing/2008/diagram", - "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main", - "http://schemas.libreoffice.org/", - "http://schemas.microsoft.com/office/powerpoint/2010/main", - "http://schemas.microsoft.com/office/powerpoint/2012/main" - }; - - static const sal_Int32 namespaceIds[] = { - NMSP_xml, - NMSP_packageRel, - NMSP_officeRel, - NMSP_officeRel, - NMSP_dml, - NMSP_dml, - NMSP_dmlDiagram, - NMSP_dmlDiagram, - NMSP_dmlChart, - NMSP_dmlChartDr, - NMSP_vml, - NMSP_vmlOffice, - NMSP_vmlWord, - NMSP_vmlExcel, - NMSP_vmlPowerpoint, - NMSP_ax, - NMSP_xls, - NMSP_xm, - NMSP_dmlSpreadDr, - NMSP_ppt, - NMSP_mce, - NMSP_mceTest, - NMSP_dsp, - NMSP_xls14Lst, - NMSP_loext, - NMSP_p14, - NMSP_p15, - }; - - Sequence< beans::Pair< OUString, sal_Int32 > > aRet(SAL_N_ELEMENTS(namespaceIds)); - for( sal_Int32 i=0; i<aRet.getLength(); ++i ) - aRet[i] = make_Pair( - OUString::createFromAscii(namespaceURIs[i]), - namespaceIds[i]); - return aRet; + return css::uno::Sequence<css::beans::Pair<OUString, sal_Int32>>{ + {"http://www.w3.org/XML/1998/namespace", NMSP_xml}, + {"http://schemas.openxmlformats.org/package/2006/relationships", + NMSP_packageRel}, + {"http://schemas.openxmlformats.org/officeDocument/2006/relationships", + NMSP_officeRel}, + {"http://purl.oclc.org/ooxml/officeDocument/relationships", + NMSP_officeRel}, + {"http://schemas.openxmlformats.org/drawingml/2006/main", NMSP_dml}, + {"http://purl.oclc.org/ooxml/drawingml/main", NMSP_dml}, + {"http://schemas.openxmlformats.org/drawingml/2006/diagram", + NMSP_dmlDiagram}, + {"http://purl.oclc.org/ooxml/drawingml/diagram", NMSP_dmlDiagram}, + {"http://schemas.openxmlformats.org/drawingml/2006/chart", + NMSP_dmlChart}, + {"http://schemas.openxmlformats.org/drawingml/2006/chartDrawing", + NMSP_dmlChartDr}, + {"urn:schemas-microsoft-com:vml", NMSP_vml}, + {"urn:schemas-microsoft-com:office:office", NMSP_vmlOffice}, + {"urn:schemas-microsoft-com:office:word", NMSP_vmlWord}, + {"urn:schemas-microsoft-com:office:excel", NMSP_vmlExcel}, + {"urn:schemas-microsoft-com:office:powerpoint", NMSP_vmlPowerpoint}, + {"http://schemas.microsoft.com/office/2006/activeX", NMSP_ax}, + {"http://schemas.openxmlformats.org/spreadsheetml/2006/main", + NMSP_xls}, + {"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing", + NMSP_xm}, + {"http://schemas.microsoft.com/office/excel/2006/main", + NMSP_dmlSpreadDr}, + {"http://schemas.openxmlformats.org/presentationml/2006/main", + NMSP_ppt}, + {"http://schemas.openxmlformats.org/markup-compatibility/2006", + NMSP_mce}, + {"http://schemas.openxmlformats.org/spreadsheetml/2006/main/v2", + NMSP_mceTest}, + {"http://schemas.microsoft.com/office/drawing/2008/diagram", + NMSP_dsp}, + {"http://schemas.microsoft.com/office/spreadsheetml/2009/9/main", + NMSP_xls14Lst}, + {"http://schemas.libreoffice.org/", NMSP_loext}, + {"http://schemas.microsoft.com/office/powerpoint/2010/main", + NMSP_p14}, + {"http://schemas.microsoft.com/office/powerpoint/2012/main", + NMSP_p15}}; } }; commit ffdc5db260b7c17c47109f707b3664a3f3caafaa Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Mon Nov 9 18:56:17 2015 +0100 fix a set of race conditions in the writer uno wrappers - whenever SwClients are added or removed, the SolarMutex should be locked - locking the mutex there would be a performance killer - thus only DBG_TESTSOLARMUTEX() and fixing the fallout on DBG_UTL builds Change-Id: I3b10b9a01c40fbe68d15ce6e9c5c74db34eb1eb6 Reviewed-on: https://gerrit.libreoffice.org/19856 diff --git a/sw/source/core/access/accpara.cxx b/sw/source/core/access/accpara.cxx index dce86d8..5ab1d0d 100644 --- a/sw/source/core/access/accpara.cxx +++ b/sw/source/core/access/accpara.cxx @@ -564,6 +564,8 @@ SwAccessibleParagraph::~SwAccessibleParagraph() delete pPortionData; delete pHyperTextData; delete mpParaChangeTrackInfo; // #i108125# + if(GetRegisteredIn()) + GetRegisteredIn()->Remove(this); } bool SwAccessibleParagraph::HasCursor() diff --git a/sw/source/core/attr/calbck.cxx b/sw/source/core/attr/calbck.cxx index fafb9a6..0ba6a74 100644 --- a/sw/source/core/attr/calbck.cxx +++ b/sw/source/core/attr/calbck.cxx @@ -22,6 +22,7 @@ #include <hints.hxx> #include <swcache.hxx> #include <swfntcch.hxx> +#include <tools/debug.hxx> sw::LegacyModifyHint::~LegacyModifyHint() {} @@ -29,6 +30,8 @@ TYPEINIT0( SwClient ); SwClient::~SwClient() { + if(GetRegisteredIn()) + DBG_TESTSOLARMUTEX(); OSL_ENSURE( !pRegisteredIn || pRegisteredIn->HasWriterListeners(), "SwModify still known, but Client already disconnected!" ); if( pRegisteredIn && pRegisteredIn->HasWriterListeners() ) pRegisteredIn->Remove( this ); @@ -36,6 +39,7 @@ SwClient::~SwClient() void SwClient::CheckRegistration( const SfxPoolItem* pOld, const SfxPoolItem* ) { + DBG_TESTSOLARMUTEX(); // this method only handles notification about dying SwModify objects if( (!pOld || pOld->Which() != RES_OBJECTDYING) ) return; @@ -73,6 +77,7 @@ void SwClient::Modify(SfxPoolItem const*const pOldValue, SfxPoolItem const*const SwModify::~SwModify() { + DBG_TESTSOLARMUTEX(); OSL_ENSURE( !IsModifyLocked(), "Modify destroyed but locked." ); if ( IsInCache() ) @@ -109,6 +114,7 @@ SwModify::~SwModify() void SwModify::NotifyClients( const SfxPoolItem* pOldValue, const SfxPoolItem* pNewValue ) { + DBG_TESTSOLARMUTEX(); if ( IsInCache() || IsInSwFntCache() ) { const sal_uInt16 nWhich = pOldValue ? pOldValue->Which() : @@ -158,6 +164,7 @@ bool SwModify::GetInfo( SfxPoolItem& rInfo ) const void SwModify::Add( SwClient* pDepend ) { + DBG_TESTSOLARMUTEX(); OSL_ENSURE( !m_bLockClientList, "Client inserted while in Modify" ); if(pDepend->pRegisteredIn != this ) @@ -202,6 +209,7 @@ SwClient* SwModify::Remove( SwClient* pDepend ) if(m_bInDocDTOR) return nullptr; + DBG_TESTSOLARMUTEX(); assert(pDepend->pRegisteredIn == this); // SwClient is my listener diff --git a/sw/source/core/unocore/unodraw.cxx b/sw/source/core/unocore/unodraw.cxx index 1062514..fb99025e 100644 --- a/sw/source/core/unocore/unodraw.cxx +++ b/sw/source/core/unocore/unodraw.cxx @@ -1006,12 +1006,15 @@ void SwXShape::AddExistingShapeToFormat( SdrObject& _rObj ) SwXShape::~SwXShape() { + SolarMutexGuard aGuard; if (xShapeAgg.is()) { uno::Reference< uno::XInterface > xRef; xShapeAgg->setDelegator(xRef); } delete pImpl; + if(GetRegisteredIn()) + GetRegisteredIn()->Remove(this); } uno::Any SwXShape::queryInterface( const uno::Type& aType ) throw( uno::RuntimeException, std::exception ) diff --git a/sw/source/core/unocore/unoport.cxx b/sw/source/core/unocore/unoport.cxx index 480e76a..f3f8039 100644 --- a/sw/source/core/unocore/unoport.cxx +++ b/sw/source/core/unocore/unoport.cxx @@ -137,7 +137,10 @@ SwXTextPortion::SwXTextPortion( } SwXTextPortion::~SwXTextPortion() -{ } +{ + SolarMutexGuard aGuard; + m_pUnoCursor.reset(nullptr); +} uno::Reference< text::XText > SwXTextPortion::getText() throw( uno::RuntimeException, std::exception ) diff --git a/sw/source/core/unocore/unoportenum.cxx b/sw/source/core/unocore/unoportenum.cxx index c9c4e6e..7af952a 100644 --- a/sw/source/core/unocore/unoportenum.cxx +++ b/sw/source/core/unocore/unoportenum.cxx @@ -384,7 +384,10 @@ SwXTextPortionEnumeration::SwXTextPortionEnumeration( } SwXTextPortionEnumeration::~SwXTextPortionEnumeration() -{ } +{ + SolarMutexGuard aGuard; + m_pUnoCrsr.reset(nullptr); +} sal_Bool SwXTextPortionEnumeration::hasMoreElements() throw( uno::RuntimeException, std::exception ) diff --git a/sw/source/core/unocore/unosett.cxx b/sw/source/core/unocore/unosett.cxx index 7e4295e..6ec34a4 100644 --- a/sw/source/core/unocore/unosett.cxx +++ b/sw/source/core/unocore/unosett.cxx @@ -2099,6 +2099,7 @@ void SwXNumberingRules::setPropertyValue( const OUString& rPropertyName, const A throw(UnknownPropertyException, PropertyVetoException, IllegalArgumentException, WrappedTargetException, RuntimeException, std::exception) { + SolarMutexGuard aGuard; SwNumRule* pDocRule = 0; SwNumRule* pCreatedRule = 0; if(!pNumRule) diff --git a/sw/source/core/unocore/unostyle.cxx b/sw/source/core/unocore/unostyle.cxx index dfb10e0..f615d0d 100644 --- a/sw/source/core/unocore/unostyle.cxx +++ b/sw/source/core/unocore/unostyle.cxx @@ -1304,6 +1304,8 @@ SwXStyle::~SwXStyle() if(m_pBasePool) EndListening(*m_pBasePool); delete m_pPropertiesImpl; + if(GetRegisteredIn()) + GetRegisteredIn()->Remove( this ); } void SwXStyle::Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew) diff --git a/sw/source/core/unocore/unotbl.cxx b/sw/source/core/unocore/unotbl.cxx index 7eb2ed7..ea8983c 100644 --- a/sw/source/core/unocore/unotbl.cxx +++ b/sw/source/core/unocore/unotbl.cxx @@ -1242,7 +1242,11 @@ SwXTextTableRow::SwXTextTableRow(SwFrameFormat* pFormat, SwTableLine* pLn) : { } SwXTextTableRow::~SwXTextTableRow() -{ } +{ + SolarMutexGuard aGuard; + if(GetRegisteredIn()) + GetRegisteredIn()->Remove(this); +} uno::Reference< beans::XPropertySetInfo > SwXTextTableRow::getPropertySetInfo() throw( uno::RuntimeException, std::exception ) { @@ -1960,7 +1964,12 @@ SwXTextTable::SwXTextTable(SwFrameFormat& rFrameFormat) { } SwXTextTable::~SwXTextTable() - { delete pTableProps; } +{ + SolarMutexGuard aGuard; + delete pTableProps; + if(GetRegisteredIn()) + GetRegisteredIn()->Remove(this); +} uno::Reference<text::XTextTable> SwXTextTable::CreateXTextTable(SwFrameFormat* const pFrameFormat) { commit 37039fde1187c2e71bdde6e7fafd23c6ae8a871e Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Nov 9 18:21:14 2015 +0100 Missing comma Change-Id: Ia2497902771b78130b6263885bdb3362d1e6c76c diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index fca049c..1aeac9a 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -120,7 +120,7 @@ struct NamespaceIds: public rtl::StaticWithInit< "http://schemas.microsoft.com/office/drawing/2008/diagram", "http://schemas.microsoft.com/office/spreadsheetml/2009/9/main", "http://schemas.libreoffice.org/", - "http://schemas.microsoft.com/office/powerpoint/2010/main" + "http://schemas.microsoft.com/office/powerpoint/2010/main", "http://schemas.microsoft.com/office/powerpoint/2012/main" }; commit 1056f627efb0625ab658f4219a6a3c7002e2022f Author: Stephan Bergmann <sberg...@redhat.com> Date: Mon Nov 9 18:12:43 2015 +0100 loplugin:passstuffbyref Change-Id: Ibcab688c042e32a81b936573503c4a9066244161 diff --git a/include/oox/ppt/slidetransition.hxx b/include/oox/ppt/slidetransition.hxx index 4680320..1e322e0 100644 --- a/include/oox/ppt/slidetransition.hxx +++ b/include/oox/ppt/slidetransition.hxx @@ -54,7 +54,7 @@ namespace oox { namespace ppt { void setOoxTransitionType( ::sal_Int32 OoxType, ::sal_Int32 param1, ::sal_Int32 param2 ); - void setPresetTransition(OUString sPresetTransition); + void setPresetTransition(OUString const & sPresetTransition); private: ::sal_Int16 mnTransitionType; diff --git a/oox/source/ppt/slidetransition.cxx b/oox/source/ppt/slidetransition.cxx index 6681447..0fe0b10 100644 --- a/oox/source/ppt/slidetransition.cxx +++ b/oox/source/ppt/slidetransition.cxx @@ -419,7 +419,7 @@ namespace oox { namespace ppt { } } - void SlideTransition::setPresetTransition(OUString sPresetTransition) + void SlideTransition::setPresetTransition(OUString const & sPresetTransition) { if (sPresetTransition == "fallOver") { commit 31801a402e048b4861cb373687f28ea15ca60ebb Author: Eike Rathke <er...@redhat.com> Date: Mon Nov 9 18:01:44 2015 +0100 add [ar-{BH,IQ,JO,LY,MA,QA,SY,YE}] to locale data libs, tdf#95485 Change-Id: Idbe31956d8627ff51f90d2e4a52666d33143b8c0 diff --git a/i18npool/Library_localedata_others.mk b/i18npool/Library_localedata_others.mk index 5e79699..b485379 100644 --- a/i18npool/Library_localedata_others.mk +++ b/i18npool/Library_localedata_others.mk @@ -20,13 +20,21 @@ $(eval $(call gb_Library_add_generated_exception_objects,localedata_others,\ CustomTarget/i18npool/localedata/localedata_ak_GH \ CustomTarget/i18npool/localedata/localedata_am_ET \ CustomTarget/i18npool/localedata/localedata_ar_AE \ + CustomTarget/i18npool/localedata/localedata_ar_BH \ CustomTarget/i18npool/localedata/localedata_ar_DZ \ CustomTarget/i18npool/localedata/localedata_ar_EG \ + CustomTarget/i18npool/localedata/localedata_ar_IQ \ + CustomTarget/i18npool/localedata/localedata_ar_JO \ CustomTarget/i18npool/localedata/localedata_ar_KW \ CustomTarget/i18npool/localedata/localedata_ar_LB \ + CustomTarget/i18npool/localedata/localedata_ar_LY \ + CustomTarget/i18npool/localedata/localedata_ar_MA \ CustomTarget/i18npool/localedata/localedata_ar_OM \ + CustomTarget/i18npool/localedata/localedata_ar_QA \ CustomTarget/i18npool/localedata/localedata_ar_SA \ + CustomTarget/i18npool/localedata/localedata_ar_SY \ CustomTarget/i18npool/localedata/localedata_ar_TN \ + CustomTarget/i18npool/localedata/localedata_ar_YE \ CustomTarget/i18npool/localedata/localedata_axk_CG \ CustomTarget/i18npool/localedata/localedata_az_AZ \ CustomTarget/i18npool/localedata/localedata_beq_CG \ diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx index f0ceb8b..703406a 100644 --- a/i18npool/source/localedata/localedata.cxx +++ b/i18npool/source/localedata/localedata.cxx @@ -305,7 +305,14 @@ static const struct { { "lgr_SB", lcl_DATA_OTHERS }, { "mos_BF", lcl_DATA_OTHERS }, { "ny_MW", lcl_DATA_OTHERS }, - { "ti_ET", lcl_DATA_OTHERS } + { "ar_BH", lcl_DATA_OTHERS }, + { "ar_IQ", lcl_DATA_OTHERS }, + { "ar_JO", lcl_DATA_OTHERS }, + { "ar_LY", lcl_DATA_OTHERS }, + { "ar_MA", lcl_DATA_OTHERS }, + { "ar_QA", lcl_DATA_OTHERS }, + { "ar_SY", lcl_DATA_OTHERS }, + { "ar_YE", lcl_DATA_OTHERS } }; #else commit 7e997e2c1b5aaa9ad525e15e06fc8f0e8ed8fc25 Author: Eike Rathke <er...@redhat.com> Date: Mon Nov 9 17:58:01 2015 +0100 add U+200F RIGHT-TO-LEFT MARK to currency symbol, tdf#95485 follow-up ... same as in other ar_* locale data. Change-Id: If5bd17d710fc6a9b40aac87eb49a8615f59a7a31 diff --git a/i18npool/source/localedata/data/ar_BH.xml b/i18npool/source/localedata/data/ar_BH.xml index 82cb61b..f2934f3 100644 --- a/i18npool/source/localedata/data/ar_BH.xml +++ b/i18npool/source/localedata/data/ar_BH.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.ب.-3C01]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.ب.â-3C01]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>BHD</CurrencyID> - <CurrencySymbol>د.ب.</CurrencySymbol> + <CurrencySymbol>د.ب.â</CurrencySymbol> <BankSymbol>BHD</BankSymbol> <CurrencyName>BHD</CurrencyName> <DecimalPlaces>2</DecimalPlaces> diff --git a/i18npool/source/localedata/data/ar_IQ.xml b/i18npool/source/localedata/data/ar_IQ.xml index 26c9074..f4b338e 100644 --- a/i18npool/source/localedata/data/ar_IQ.xml +++ b/i18npool/source/localedata/data/ar_IQ.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.ع.-801]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.ع.â-801]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>IQD</CurrencyID> - <CurrencySymbol>د.ع.</CurrencySymbol> + <CurrencySymbol>د.ع.â</CurrencySymbol> <BankSymbol>IQD</BankSymbol> <CurrencyName>IQD</CurrencyName> <DecimalPlaces>2</DecimalPlaces> diff --git a/i18npool/source/localedata/data/ar_JO.xml b/i18npool/source/localedata/data/ar_JO.xml index 5246ad9..422ed9c 100644 --- a/i18npool/source/localedata/data/ar_JO.xml +++ b/i18npool/source/localedata/data/ar_JO.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ø£.-2C01]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ø£.â-2C01]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>JOD</CurrencyID> - <CurrencySymbol>د.Ø£.</CurrencySymbol> + <CurrencySymbol>د.Ø£.â</CurrencySymbol> <BankSymbol>JOD</BankSymbol> <CurrencyName>JOD</CurrencyName> <DecimalPlaces>2</DecimalPlaces> diff --git a/i18npool/source/localedata/data/ar_LY.xml b/i18npool/source/localedata/data/ar_LY.xml index 71ba64d..ae50797 100644 --- a/i18npool/source/localedata/data/ar_LY.xml +++ b/i18npool/source/localedata/data/ar_LY.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ù.-1001]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ù.â-1001]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>LYD</CurrencyID> - <CurrencySymbol>د.Ù.</CurrencySymbol> + <CurrencySymbol>د.Ù.â</CurrencySymbol> <BankSymbol>LYD</BankSymbol> <CurrencyName>LYD</CurrencyName> <DecimalPlaces>2</DecimalPlaces> diff --git a/i18npool/source/localedata/data/ar_MA.xml b/i18npool/source/localedata/data/ar_MA.xml index ba8b244..c8995cb 100644 --- a/i18npool/source/localedata/data/ar_MA.xml +++ b/i18npool/source/localedata/data/ar_MA.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ù .-1801]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ù .â-1801]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>MAD</CurrencyID> - <CurrencySymbol>د.Ù .</CurrencySymbol> + <CurrencySymbol>د.Ù .â</CurrencySymbol> <BankSymbol>MAD</BankSymbol> <CurrencyName>MAD</CurrencyName> <DecimalPlaces>2</DecimalPlaces> diff --git a/i18npool/source/localedata/data/ar_QA.xml b/i18npool/source/localedata/data/ar_QA.xml index 0569743..b26ae38 100644 --- a/i18npool/source/localedata/data/ar_QA.xml +++ b/i18npool/source/localedata/data/ar_QA.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$ر.Ù.-4001]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$ر.Ù.â-4001]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>QAR</CurrencyID> - <CurrencySymbol>ر.Ù.</CurrencySymbol> + <CurrencySymbol>ر.Ù.â</CurrencySymbol> <BankSymbol>QAR</BankSymbol> <CurrencyName>QAR</CurrencyName> <DecimalPlaces>2</DecimalPlaces> diff --git a/i18npool/source/localedata/data/ar_SY.xml b/i18npool/source/localedata/data/ar_SY.xml index b002872..a1bb451 100644 --- a/i18npool/source/localedata/data/ar_SY.xml +++ b/i18npool/source/localedata/data/ar_SY.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$Ù.س.-2801]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$Ù.س.â-2801]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>SYP</CurrencyID> - <CurrencySymbol>Ù.س.</CurrencySymbol> + <CurrencySymbol>Ù.س.â</CurrencySymbol> <BankSymbol>SYP</BankSymbol> <CurrencyName>SYP</CurrencyName> <DecimalPlaces>2</DecimalPlaces> diff --git a/i18npool/source/localedata/data/ar_YE.xml b/i18npool/source/localedata/data/ar_YE.xml index 0479084..5a3cfb2 100644 --- a/i18npool/source/localedata/data/ar_YE.xml +++ b/i18npool/source/localedata/data/ar_YE.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$ر.Ù.-2401]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$ر.Ù.â-2401]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> @@ -28,7 +28,7 @@ <LC_CURRENCY> <Currency default="true" usedInCompatibleFormatCodes="true"> <CurrencyID>YER</CurrencyID> - <CurrencySymbol>ر.Ù.</CurrencySymbol> + <CurrencySymbol>ر.Ù.â</CurrencySymbol> <BankSymbol>YER</BankSymbol> <CurrencyName>YER</CurrencyName> <DecimalPlaces>2</DecimalPlaces> commit 6938d37f0eb00420e491f6312a75894ef40dcbf4 Author: Eike Rathke <er...@redhat.com> Date: Mon Nov 9 17:50:40 2015 +0100 correct order of currency symbol and LangID in replaceTo, tdf#95485 follow-up Change-Id: Iefb671f4e7130523edde1d0495d36fb57aa7528c diff --git a/i18npool/source/localedata/data/ar_BH.xml b/i18npool/source/localedata/data/ar_BH.xml index 35a55d8..82cb61b 100644 --- a/i18npool/source/localedata/data/ar_BH.xml +++ b/i18npool/source/localedata/data/ar_BH.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$3C01-د.ب.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.ب.-3C01]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> diff --git a/i18npool/source/localedata/data/ar_IQ.xml b/i18npool/source/localedata/data/ar_IQ.xml index 4001437..26c9074 100644 --- a/i18npool/source/localedata/data/ar_IQ.xml +++ b/i18npool/source/localedata/data/ar_IQ.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$801-د.ع.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.ع.-801]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> diff --git a/i18npool/source/localedata/data/ar_JO.xml b/i18npool/source/localedata/data/ar_JO.xml index d6c4d1b..5246ad9 100644 --- a/i18npool/source/localedata/data/ar_JO.xml +++ b/i18npool/source/localedata/data/ar_JO.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$2C01-د.Ø£.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ø£.-2C01]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> diff --git a/i18npool/source/localedata/data/ar_LY.xml b/i18npool/source/localedata/data/ar_LY.xml index 14e8bea..71ba64d 100644 --- a/i18npool/source/localedata/data/ar_LY.xml +++ b/i18npool/source/localedata/data/ar_LY.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$1001-د.Ù.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ù.-1001]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> diff --git a/i18npool/source/localedata/data/ar_MA.xml b/i18npool/source/localedata/data/ar_MA.xml index f52a3bc..ba8b244 100644 --- a/i18npool/source/localedata/data/ar_MA.xml +++ b/i18npool/source/localedata/data/ar_MA.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$1801-د.Ù .]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$د.Ù .-1801]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> diff --git a/i18npool/source/localedata/data/ar_QA.xml b/i18npool/source/localedata/data/ar_QA.xml index 54dc35a..0569743 100644 --- a/i18npool/source/localedata/data/ar_QA.xml +++ b/i18npool/source/localedata/data/ar_QA.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$4001-ر.Ù.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$ر.Ù.-4001]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> diff --git a/i18npool/source/localedata/data/ar_SY.xml b/i18npool/source/localedata/data/ar_SY.xml index ec1ff08..b002872 100644 --- a/i18npool/source/localedata/data/ar_SY.xml +++ b/i18npool/source/localedata/data/ar_SY.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$2801-Ù.س.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$Ù.س.-2801]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> diff --git a/i18npool/source/localedata/data/ar_YE.xml b/i18npool/source/localedata/data/ar_YE.xml index 38fc855..0479084 100644 --- a/i18npool/source/localedata/data/ar_YE.xml +++ b/i18npool/source/localedata/data/ar_YE.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$2401-ر.Ù.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$ر.Ù.-2401]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> commit 5ef5b31b563f2c2d40d583a59001b78ede57526e Author: Eike Rathke <er...@redhat.com> Date: Mon Nov 9 17:34:29 2015 +0100 strip leading zero from LangID in currency format, tdf#95485 follow-up Change-Id: Id4be326683f4be745284d0951768047d830570c1 diff --git a/i18npool/source/localedata/data/ar_IQ.xml b/i18npool/source/localedata/data/ar_IQ.xml index 70c5111..4001437 100644 --- a/i18npool/source/localedata/data/ar_IQ.xml +++ b/i18npool/source/localedata/data/ar_IQ.xml @@ -20,7 +20,7 @@ </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> - <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$0801-د.ع.]"/> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$801-د.ع.]"/> <LC_COLLATION ref="ar_SA" /> <LC_SEARCH ref="ar_SA"/> <LC_INDEX ref="ar_SA"/> commit 9158ad31905be0658aa08dab8bd5e6407065c0de Author: Eike Rathke <er...@redhat.com> Date: Mon Nov 9 17:31:13 2015 +0100 remove erroneous extra </DefaultName> closing tag, tdf#95485 follow-up Change-Id: Ie7573d79f74d601abd340d028080dcb50a78917a diff --git a/i18npool/source/localedata/data/ar_BH.xml b/i18npool/source/localedata/data/ar_BH.xml index d15bccf..35a55d8 100644 --- a/i18npool/source/localedata/data/ar_BH.xml +++ b/i18npool/source/localedata/data/ar_BH.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>BH</CountryID> - <DefaultName>Bahrain</DefaultName></DefaultName> + <DefaultName>Bahrain</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> diff --git a/i18npool/source/localedata/data/ar_IQ.xml b/i18npool/source/localedata/data/ar_IQ.xml index d14ef69..70c5111 100644 --- a/i18npool/source/localedata/data/ar_IQ.xml +++ b/i18npool/source/localedata/data/ar_IQ.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>IQ</CountryID> - <DefaultName>Iraq</DefaultName></DefaultName> + <DefaultName>Iraq</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> diff --git a/i18npool/source/localedata/data/ar_JO.xml b/i18npool/source/localedata/data/ar_JO.xml index 7352387..d6c4d1b 100644 --- a/i18npool/source/localedata/data/ar_JO.xml +++ b/i18npool/source/localedata/data/ar_JO.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>JO</CountryID> - <DefaultName>Jordan</DefaultName></DefaultName> + <DefaultName>Jordan</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> diff --git a/i18npool/source/localedata/data/ar_LY.xml b/i18npool/source/localedata/data/ar_LY.xml index 1ba7036..14e8bea 100644 --- a/i18npool/source/localedata/data/ar_LY.xml +++ b/i18npool/source/localedata/data/ar_LY.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>LY</CountryID> - <DefaultName>Libya</DefaultName></DefaultName> + <DefaultName>Libya</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> diff --git a/i18npool/source/localedata/data/ar_MA.xml b/i18npool/source/localedata/data/ar_MA.xml index f37030e..f52a3bc 100644 --- a/i18npool/source/localedata/data/ar_MA.xml +++ b/i18npool/source/localedata/data/ar_MA.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>MA</CountryID> - <DefaultName>Morocco</DefaultName></DefaultName> + <DefaultName>Morocco</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> diff --git a/i18npool/source/localedata/data/ar_QA.xml b/i18npool/source/localedata/data/ar_QA.xml index e18a3c8..54dc35a 100644 --- a/i18npool/source/localedata/data/ar_QA.xml +++ b/i18npool/source/localedata/data/ar_QA.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>QA</CountryID> - <DefaultName>Qatar</DefaultName></DefaultName> + <DefaultName>Qatar</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> diff --git a/i18npool/source/localedata/data/ar_SY.xml b/i18npool/source/localedata/data/ar_SY.xml index 12dbfd7..ec1ff08 100644 --- a/i18npool/source/localedata/data/ar_SY.xml +++ b/i18npool/source/localedata/data/ar_SY.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>SY</CountryID> - <DefaultName>Syria</DefaultName></DefaultName> + <DefaultName>Syria</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> diff --git a/i18npool/source/localedata/data/ar_YE.xml b/i18npool/source/localedata/data/ar_YE.xml index 0ddfc8a..38fc855 100644 --- a/i18npool/source/localedata/data/ar_YE.xml +++ b/i18npool/source/localedata/data/ar_YE.xml @@ -16,7 +16,7 @@ </Language> <Country> <CountryID>YE</CountryID> - <DefaultName>Yemen</DefaultName></DefaultName> + <DefaultName>Yemen</DefaultName> </Country> </LC_INFO> <LC_CTYPE ref="ar_SA" /> commit 1b9495b4e8c27c3e9a6a46e6fec12d1150362dad Author: Ghasan <devgha...@hotmail.com> Date: Mon Nov 9 17:25:52 2015 +0100 add [ar-{BH,IQ,JO,LY,MA,QA,SY,YE}] locale data, tdf#95485 Change-Id: I55eea19b0302053691eb76b7785276a89bcd136a diff --git a/i18npool/source/localedata/data/ar_BH.xml b/i18npool/source/localedata/data/ar_BH.xml new file mode 100644 index 0000000..d15bccf --- /dev/null +++ b/i18npool/source/localedata/data/ar_BH.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>BH</CountryID> + <DefaultName>Bahrain</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$3C01-د.ب.]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_SA" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>BHD</CurrencyID> + <CurrencySymbol>د.ب.</CurrencySymbol> + <BankSymbol>BHD</BankSymbol> + <CurrencyName>BHD</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> diff --git a/i18npool/source/localedata/data/ar_IQ.xml b/i18npool/source/localedata/data/ar_IQ.xml new file mode 100644 index 0000000..d14ef69 --- /dev/null +++ b/i18npool/source/localedata/data/ar_IQ.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>IQ</CountryID> + <DefaultName>Iraq</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$0801-د.ع.]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_SA" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>IQD</CurrencyID> + <CurrencySymbol>د.ع.</CurrencySymbol> + <BankSymbol>IQD</BankSymbol> + <CurrencyName>IQD</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> diff --git a/i18npool/source/localedata/data/ar_JO.xml b/i18npool/source/localedata/data/ar_JO.xml new file mode 100644 index 0000000..7352387 --- /dev/null +++ b/i18npool/source/localedata/data/ar_JO.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>JO</CountryID> + <DefaultName>Jordan</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$2C01-د.Ø£.]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_SA" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>JOD</CurrencyID> + <CurrencySymbol>د.Ø£.</CurrencySymbol> + <BankSymbol>JOD</BankSymbol> + <CurrencyName>JOD</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> diff --git a/i18npool/source/localedata/data/ar_LY.xml b/i18npool/source/localedata/data/ar_LY.xml new file mode 100644 index 0000000..1ba7036 --- /dev/null +++ b/i18npool/source/localedata/data/ar_LY.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>LY</CountryID> + <DefaultName>Libya</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$1001-د.Ù.]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_SA" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>LYD</CurrencyID> + <CurrencySymbol>د.Ù.</CurrencySymbol> + <BankSymbol>LYD</BankSymbol> + <CurrencyName>LYD</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> diff --git a/i18npool/source/localedata/data/ar_MA.xml b/i18npool/source/localedata/data/ar_MA.xml new file mode 100644 index 0000000..f37030e --- /dev/null +++ b/i18npool/source/localedata/data/ar_MA.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>MA</CountryID> + <DefaultName>Morocco</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$1801-د.Ù .]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_TN" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>MAD</CurrencyID> + <CurrencySymbol>د.Ù .</CurrencySymbol> + <BankSymbol>MAD</BankSymbol> + <CurrencyName>MAD</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> diff --git a/i18npool/source/localedata/data/ar_QA.xml b/i18npool/source/localedata/data/ar_QA.xml new file mode 100644 index 0000000..e18a3c8 --- /dev/null +++ b/i18npool/source/localedata/data/ar_QA.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>QA</CountryID> + <DefaultName>Qatar</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$4001-ر.Ù.]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_SA" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>QAR</CurrencyID> + <CurrencySymbol>ر.Ù.</CurrencySymbol> + <BankSymbol>QAR</BankSymbol> + <CurrencyName>QAR</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> diff --git a/i18npool/source/localedata/data/ar_SY.xml b/i18npool/source/localedata/data/ar_SY.xml new file mode 100644 index 0000000..12dbfd7 --- /dev/null +++ b/i18npool/source/localedata/data/ar_SY.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>SY</CountryID> + <DefaultName>Syria</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$2801-Ù.س.]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_LB" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>SYP</CurrencyID> + <CurrencySymbol>Ù.س.</CurrencySymbol> + <BankSymbol>SYP</BankSymbol> + <CurrencyName>SYP</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> diff --git a/i18npool/source/localedata/data/ar_YE.xml b/i18npool/source/localedata/data/ar_YE.xml new file mode 100644 index 0000000..0ddfc8a --- /dev/null +++ b/i18npool/source/localedata/data/ar_YE.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE Locale SYSTEM 'locale.dtd'> +<!-- + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * +--> +<Locale versionDTD="2.0.3" allowUpdateFromCLDR="no" version="1.0"> + <LC_INFO> + <Language> + <LangID>ar</LangID> + <DefaultName>Arabic</DefaultName> + </Language> + <Country> + <CountryID>YE</CountryID> + <DefaultName>Yemen</DefaultName></DefaultName> + </Country> + </LC_INFO> + <LC_CTYPE ref="ar_SA" /> + <LC_FORMAT ref="ar_SA" replaceFrom="[CURRENCY]" replaceTo="[$2401-ر.Ù.]"/> + <LC_COLLATION ref="ar_SA" /> + <LC_SEARCH ref="ar_SA"/> + <LC_INDEX ref="ar_SA"/> + <LC_CALENDAR ref="ar_SA" /> + <LC_CURRENCY> + <Currency default="true" usedInCompatibleFormatCodes="true"> + <CurrencyID>YER</CurrencyID> + <CurrencySymbol>ر.Ù.</CurrencySymbol> + <BankSymbol>YER</BankSymbol> + <CurrencyName>YER</CurrencyName> + <DecimalPlaces>2</DecimalPlaces> + </Currency> + </LC_CURRENCY> + <LC_TRANSLITERATION ref="ar_SA"/> + <LC_MISC ref="ar_SA"/> + <LC_NumberingLevel ref="ar_SA"/> + <LC_OutLineNumberingLevel ref="ar_SA"/> +</Locale> commit 6626a569a47751b65230f2ee95345640dbe8a562 Author: Norbert Thiebaud <nthieb...@gmail.com> Date: Mon Nov 9 10:16:39 2015 -0600 do not force-disable ccache for jenkins-ubsan build Change-Id: I791d9d6710462ba0a325228a890b941f6000ce13 diff --git a/distro-configs/Jenkins/Linux_ubsan_master.conf b/distro-configs/Jenkins/Linux_ubsan_master.conf index 44baa50..0c23236 100644 --- a/distro-configs/Jenkins/Linux_ubsan_master.conf +++ b/distro-configs/Jenkins/Linux_ubsan_master.conf @@ -1,4 +1,3 @@ ---disable-ccache --disable-ooenv --enable-avahi --enable-dbgutil commit 9ed9f30f2202cc7d57b1dbe68a37cc6fbbd2866a Author: Michael Stahl <mst...@redhat.com> Date: Mon Nov 9 15:25:29 2015 +0100 starmath: replace boost::ptr_deque with std::deque<std::unique_ptr> Change-Id: I1d2671a0b355bd4dbb195d69af2c432c50df904e diff --git a/starmath/inc/node.hxx b/starmath/inc/node.hxx index 3126f58..c7f71ba 100644 --- a/starmath/inc/node.hxx +++ b/starmath/inc/node.hxx @@ -20,16 +20,16 @@ #ifndef INCLUDED_STARMATH_INC_NODE_HXX #define INCLUDED_STARMATH_INC_NODE_HXX -#include <vector> -#include <ostream> - #include "types.hxx" #include "token.hxx" #include "error.hxx" #include "rect.hxx" #include "format.hxx" -#include <boost/ptr_container/ptr_deque.hpp> + #include <memory> +#include <vector> +#include <deque> +#include <ostream> #define ATTR_BOLD 0x0001 #define ATTR_ITALIC 0x0002 @@ -61,15 +61,16 @@ class SmNode; class SmStructureNode; typedef std::shared_ptr<SmNode> SmNodePointer; -typedef boost::ptr_deque<SmNode> SmNodeStack; +typedef std::deque<std::unique_ptr<SmNode>> SmNodeStack; typedef std::vector< SmNode * > SmNodeArray; template < typename T > -T* popOrZero( boost::ptr_deque<T> & rStack ) +T* popOrZero(std::deque<std::unique_ptr<T>> & rStack) { if (rStack.empty()) - return 0; - auto pTmp = rStack.pop_front(); + return nullptr; + std::unique_ptr<T> pTmp(std::move(rStack.front())); + rStack.pop_front(); return pTmp.release(); } diff --git a/starmath/source/mathmlimport.cxx b/starmath/source/mathmlimport.cxx index 658b6b4..98cb9ad 100644 --- a/starmath/source/mathmlimport.cxx +++ b/starmath/source/mathmlimport.cxx @@ -42,6 +42,7 @@ one go*/ #include <comphelper/processfactory.hxx> #include <comphelper/servicehelper.hxx> #include <comphelper/string.hxx> +#include <o3tl/make_unique.hxx> #include <rtl/math.hxx> #include <sfx2/frame.hxx> #include <sfx2/docfile.hxx> @@ -670,9 +671,9 @@ void SmXMLContext_Helper::ApplyAttrs() aToken.eType = TBOLD; else aToken.eType = TNBOLD; - SmFontNode *pFontNode = new SmFontNode(aToken); + std::unique_ptr<SmFontNode> pFontNode(new SmFontNode(aToken)); pFontNode->SetSubNodes(0,popOrZero(rNodeStack)); - rNodeStack.push_front(pFontNode); + rNodeStack.push_front(std::move(pFontNode)); } if (nIsItalic != -1) { @@ -680,14 +681,14 @@ void SmXMLContext_Helper::ApplyAttrs() aToken.eType = TITALIC; else aToken.eType = TNITALIC; - SmFontNode *pFontNode = new SmFontNode(aToken); + std::unique_ptr<SmFontNode> pFontNode(new SmFontNode(aToken)); pFontNode->SetSubNodes(0,popOrZero(rNodeStack)); - rNodeStack.push_front(pFontNode); + rNodeStack.push_front(std::move(pFontNode)); } if (nFontSize != 0.0) { aToken.eType = TSIZE; - SmFontNode *pFontNode = new SmFontNode(aToken); + std::unique_ptr<SmFontNode> pFontNode(new SmFontNode(aToken)); if (util::MeasureUnit::PERCENT == rContext.GetSmImport() .GetMM100UnitConverter().GetXMLMeasureUnit()) @@ -703,7 +704,7 @@ void SmXMLContext_Helper::ApplyAttrs() pFontNode->SetSizeParameter(Fraction(nFontSize),FontSizeType::ABSOLUT); pFontNode->SetSubNodes(0,popOrZero(rNodeStack)); - rNodeStack.push_front(pFontNode); + rNodeStack.push_front(std::move(pFontNode)); } if (!sFontFamily.isEmpty()) { @@ -718,9 +719,9 @@ void SmXMLContext_Helper::ApplyAttrs() return; aToken.aText = sFontFamily; - SmFontNode *pFontNode = new SmFontNode(aToken); + std::unique_ptr<SmFontNode> pFontNode(new SmFontNode(aToken)); pFontNode->SetSubNodes(0,popOrZero(rNodeStack)); - rNodeStack.push_front(pFontNode); + rNodeStack.push_front(std::move(pFontNode)); } if (!sColor.isEmpty()) { @@ -732,9 +733,9 @@ void SmXMLContext_Helper::ApplyAttrs() if (tok != XML_TOK_UNKNOWN) { aToken.eType = static_cast<SmTokenType>(tok); - SmFontNode *pFontNode = new SmFontNode(aToken); + std::unique_ptr<SmFontNode> pFontNode(new SmFontNode(aToken)); pFontNode->SetSubNodes(0,popOrZero(rNodeStack)); - rNodeStack.push_front(pFontNode); + rNodeStack.push_front(std::move(pFontNode)); } } @@ -929,10 +930,10 @@ void SmXMLPhantomContext_Impl::EndElement() aToken.nLevel = 5; aToken.eType = TPHANTOM; - SmFontNode *pPhantom = new SmFontNode(aToken); + std::unique_ptr<SmFontNode> pPhantom(new SmFontNode(aToken)); SmNodeStack &rNodeStack = GetSmImport().GetNodeStack(); pPhantom->SetSubNodes(0,popOrZero(rNodeStack)); - rNodeStack.push_front(pPhantom); + rNodeStack.push_front(std::move(pPhantom)); } @@ -994,7 +995,7 @@ void SmXMLFencedContext_Impl::EndElement() aToken.eType = TLPARENT; aToken.cMathChar = cBegin; - SmStructureNode *pSNode = new SmBraceNode(aToken); + std::unique_ptr<SmStructureNode> pSNode(new SmBraceNode(aToken)); SmNode *pLeft = new SmMathSymbolNode(aToken); aToken.cMathChar = cEnd; @@ -1014,7 +1015,8 @@ void SmXMLFencedContext_Impl::EndElement() aRelationArray.resize(i); while (rNodeStack.size() > nElementCount) { - auto pNode = rNodeStack.pop_front(); + auto pNode = std::move(rNodeStack.front()); + rNodeStack.pop_front(); aRelationArray[--i] = pNode.release(); if (i > 1 && rNodeStack.size() > 1) aRelationArray[--i] = new SmGlyphSpecialNode(aToken); @@ -1027,7 +1029,7 @@ void SmXMLFencedContext_Impl::EndElement() pSNode->SetSubNodes(pLeft,pBody,pRight); pSNode->SetScaleMode(SCALE_HEIGHT); - GetSmImport().GetNodeStack().push_front(pSNode); + GetSmImport().GetNodeStack().push_front(std::move(pSNode)); } @@ -1088,7 +1090,7 @@ void SmXMLNumberContext_Impl::TCharacters(const OUString &rChars) void SmXMLNumberContext_Impl::EndElement() { - GetSmImport().GetNodeStack().push_front(new SmTextNode(aToken,FNT_NUMBER)); + GetSmImport().GetNodeStack().push_front(o3tl::make_unique<SmTextNode>(aToken,FNT_NUMBER)); } @@ -1167,7 +1169,7 @@ void SmXMLTextContext_Impl::TCharacters(const OUString &rChars) void SmXMLTextContext_Impl::EndElement() { - GetSmImport().GetNodeStack().push_front(new SmTextNode(aToken,FNT_TEXT)); + GetSmImport().GetNodeStack().push_front(o3tl::make_unique<SmTextNode>(aToken,FNT_TEXT)); } @@ -1209,7 +1211,7 @@ void SmXMLStringContext_Impl::TCharacters(const OUString &rChars) void SmXMLStringContext_Impl::EndElement() { - GetSmImport().GetNodeStack().push_front(new SmTextNode(aToken,FNT_FIXED)); + GetSmImport().GetNodeStack().push_front(o3tl::make_unique<SmTextNode>(aToken,FNT_FIXED)); } @@ -1240,18 +1242,18 @@ public: void SmXMLIdentifierContext_Impl::EndElement() { - SmTextNode *pNode = 0; + std::unique_ptr<SmTextNode> pNode; //we will handle identifier italic/normal here instead of with a standalone //font node if (((aStyleHelper.nIsItalic == -1) && (aToken.aText.getLength() > 1)) || ((aStyleHelper.nIsItalic == 0) && (aToken.aText.getLength() == 1))) { - pNode = new SmTextNode(aToken,FNT_FUNCTION); + pNode.reset(new SmTextNode(aToken,FNT_FUNCTION)); pNode->GetFont().SetItalic(ITALIC_NONE); aStyleHelper.nIsItalic = -1; } else - pNode = new SmTextNode(aToken,FNT_VARIABLE); + pNode.reset(new SmTextNode(aToken,FNT_VARIABLE)); if (aStyleHelper.bFontNodeNeeded && aStyleHelper.nIsItalic != -1) { if (aStyleHelper.nIsItalic) @@ -1268,7 +1270,7 @@ void SmXMLIdentifierContext_Impl::EndElement() aStyleHelper.bFontNodeNeeded=false; if (aStyleHelper.bFontNodeNeeded) aStyleHelper.ApplyAttrs(); - GetSmImport().GetNodeStack().push_front(pNode); + GetSmImport().GetNodeStack().push_front(std::move(pNode)); } void SmXMLIdentifierContext_Impl::TCharacters(const OUString &rChars) @@ -1306,13 +1308,13 @@ void SmXMLOperatorContext_Impl::TCharacters(const OUString &rChars) void SmXMLOperatorContext_Impl::EndElement() { - SmMathSymbolNode *pNode = new SmMathSymbolNode(aToken); + std::unique_ptr<SmMathSymbolNode> pNode(new SmMathSymbolNode(aToken)); //For stretchy scaling the scaling must be retrieved from this node //and applied to the expression itself so as to get the expression //to scale the operator to the height of the expression itself if (bIsStretchy) pNode->SetScaleMode(SCALE_HEIGHT); - GetSmImport().GetNodeStack().push_front(pNode); + GetSmImport().GetNodeStack().push_front(std::move(pNode)); } @@ -1365,9 +1367,9 @@ void SmXMLSpaceContext_Impl::StartElement( aToken.cMathChar = '\0'; aToken.eType = TBLANK; aToken.nLevel = 5; - SmBlankNode *pBlank = new SmBlankNode(aToken); + std::unique_ptr<SmBlankNode> pBlank(new SmBlankNode(aToken)); pBlank->IncreaseBy(aToken); - GetSmImport().GetNodeStack().push_front(pBlank); + GetSmImport().GetNodeStack().push_front(std::move(pBlank)); } @@ -1400,7 +1402,7 @@ void SmXMLSubContext_Impl::GenericEndElement(SmTokenType eType, SmSubSup eSubSup SmToken aToken; aToken.cMathChar = '\0'; aToken.eType = eType; - SmSubSupNode *pNode = new SmSubSupNode(aToken); + std::unique_ptr<SmSubSupNode> pNode(new SmSubSupNode(aToken)); SmNodeStack &rNodeStack = GetSmImport().GetNodeStack(); // initialize subnodes array @@ -1412,7 +1414,7 @@ void SmXMLSubContext_Impl::GenericEndElement(SmTokenType eType, SmSubSup eSubSup aSubNodes[eSubSup+1] = popOrZero(rNodeStack); aSubNodes[0] = popOrZero(rNodeStack); pNode->SetSubNodes(aSubNodes); - rNodeStack.push_front(pNode); + rNodeStack.push_front(std::move(pNode)); } @@ -1460,7 +1462,7 @@ void SmXMLSubSupContext_Impl::GenericEndElement(SmTokenType eType, SmToken aToken; aToken.cMathChar = '\0'; aToken.eType = eType; - SmSubSupNode *pNode = new SmSubSupNode(aToken); + std::unique_ptr<SmSubSupNode> pNode(new SmSubSupNode(aToken)); SmNodeStack &rNodeStack = GetSmImport().GetNodeStack(); // initialize subnodes array @@ -1473,7 +1475,7 @@ void SmXMLSubSupContext_Impl::GenericEndElement(SmTokenType eType, aSubNodes[aSub+1] = popOrZero(rNodeStack); aSubNodes[0] = popOrZero(rNodeStack); pNode->SetSubNodes(aSubNodes); - rNodeStack.push_front(pNode); + rNodeStack.push_front(std::move(pNode)); } @@ -1519,7 +1521,7 @@ void SmXMLUnderContext_Impl::HandleAccent() SmNodeArray aSubNodes; aSubNodes.resize(2); - SmStructureNode *pNode = new SmAttributNode(aToken); + std::unique_ptr<SmStructureNode> pNode(new SmAttributNode(aToken)); if ((pTest->GetToken().cMathChar & 0x0FFF) == 0x0332) { aSubNodes[0] = new SmRectangleNode(aToken); @@ -1531,7 +1533,7 @@ void SmXMLUnderContext_Impl::HandleAccent() aSubNodes[1] = popOrZero(rNodeStack); pNode->SetSubNodes(aSubNodes); pNode->SetScaleMode(SCALE_WIDTH); - rNodeStack.push_front(pNode); + rNodeStack.push_front(std::move(pNode)); } @@ -1588,7 +1590,7 @@ void SmXMLOverContext_Impl::HandleAccent() aToken.cMathChar = '\0'; aToken.eType = TACUTE; - SmAttributNode *pNode = new SmAttributNode(aToken); + std::unique_ptr<SmAttributNode> pNode(new SmAttributNode(aToken)); SmNodeStack &rNodeStack = GetSmImport().GetNodeStack(); SmNodeArray aSubNodes; @@ -1597,7 +1599,7 @@ void SmXMLOverContext_Impl::HandleAccent() aSubNodes[1] = popOrZero(rNodeStack); pNode->SetSubNodes(aSubNodes); pNode->SetScaleMode(SCALE_WIDTH); - rNodeStack.push_front(pNode); + rNodeStack.push_front(std::move(pNode)); } @@ -1657,7 +1659,7 @@ void SmXMLNoneContext_Impl::EndElement() aToken.nLevel = 5; aToken.eType = TIDENT; GetSmImport().GetNodeStack().push_front( - new SmTextNode(aToken,FNT_VARIABLE)); + o3tl::make_unique<SmTextNode>(aToken,FNT_VARIABLE)); } @@ -2136,21 +2138,22 @@ void SmXMLDocContext_Impl::EndElement() ContextArray[0] = popOrZero(rNodeStack); SmToken aDummy; - SmStructureNode *pSNode = new SmLineNode(aDummy); + std::unique_ptr<SmStructureNode> pSNode(new SmLineNode(aDummy)); pSNode->SetSubNodes(ContextArray); - rNodeStack.push_front(pSNode); + rNodeStack.push_front(std::move(pSNode)); SmNodeArray LineArray; auto n = rNodeStack.size(); LineArray.resize(n); for (size_t j = 0; j < n; j++) { - auto pNode = rNodeStack.pop_front(); + auto pNode = std::move(rNodeStack.front()); + rNodeStack.pop_front(); LineArray[n - (j + 1)] = pNode.release(); } - SmStructureNode *pSNode2 = new SmTableNode(aDummy); + std::unique_ptr<SmStructureNode> pSNode2(new SmTableNode(aDummy)); pSNode2->SetSubNodes(LineArray); - rNodeStack.push_front(pSNode2); + rNodeStack.push_front(std::move(pSNode2)); } void SmXMLFracContext_Impl::EndElement() @@ -2164,12 +2167,12 @@ void SmXMLFracContext_Impl::EndElement() SmToken aToken; aToken.cMathChar = '\0'; aToken.eType = TOVER; - SmStructureNode *pSNode = new SmBinVerNode(aToken); + std::unique_ptr<SmStructureNode> pSNode(new SmBinVerNode(aToken)); SmNode *pOper = new SmRectangleNode(aToken); SmNode *pSecond = popOrZero(rNodeStack); SmNode *pFirst = popOrZero(rNodeStack); pSNode->SetSubNodes(pFirst,pOper,pSecond); - rNodeStack.push_front(pSNode); + rNodeStack.push_front(std::move(pSNode)); } void SmXMLRootContext_Impl::EndElement() @@ -2183,13 +2186,13 @@ void SmXMLRootContext_Impl::EndElement() SmToken aToken; aToken.cMathChar = MS_SQRT; //Temporary: alert, based on StarSymbol font aToken.eType = TNROOT; - SmStructureNode *pSNode = new SmRootNode(aToken); + std::unique_ptr<SmStructureNode> pSNode(new SmRootNode(aToken)); SmNode *pOper = new SmRootSymbolNode(aToken); SmNodeStack &rNodeStack = GetSmImport().GetNodeStack(); SmNode *pIndex = popOrZero(rNodeStack); SmNode *pBase = popOrZero(rNodeStack); pSNode->SetSubNodes(pIndex,pOper,pBase); - rNodeStack.push_front(pSNode); + rNodeStack.push_front(std::move(pSNode)); } void SmXMLSqrtContext_Impl::EndElement() @@ -2205,11 +2208,11 @@ void SmXMLSqrtContext_Impl::EndElement() SmToken aToken; aToken.cMathChar = MS_SQRT; //Temporary: alert, based on StarSymbol font aToken.eType = TSQRT; - SmStructureNode *pSNode = new SmRootNode(aToken); + std::unique_ptr<SmStructureNode> pSNode(new SmRootNode(aToken)); SmNode *pOper = new SmRootSymbolNode(aToken); SmNodeStack &rNodeStack = GetSmImport().GetNodeStack(); pSNode->SetSubNodes(0,pOper,popOrZero(rNodeStack)); - rNodeStack.push_front(pSNode); + rNodeStack.push_front(std::move(pSNode)); } void SmXMLRowContext_Impl::EndElement() @@ -2224,7 +2227,8 @@ void SmXMLRowContext_Impl::EndElement() aRelationArray.resize(nSize); for (auto j=nSize;j > 0;j--) { - auto pNode = rNodeStack.pop_front(); + auto pNode = std::move(rNodeStack.front()); + rNodeStack.pop_front(); aRelationArray[j-1] = pNode.release(); } @@ -2279,13 +2283,13 @@ void SmXMLRowContext_Impl::EndElement() } SmToken aDummy; - SmStructureNode *pSNode = new SmBraceNode(aToken); + std::unique_ptr<SmStructureNode> pSNode(new SmBraceNode(aToken)); SmStructureNode *pBody = new SmExpressionNode(aDummy); pBody->SetSubNodes(aRelationArray2); pSNode->SetSubNodes(pLeft,pBody,pRight); pSNode->SetScaleMode(SCALE_HEIGHT); - rNodeStack.push_front(pSNode); + rNodeStack.push_front(std::move(pSNode)); return; } } @@ -2300,9 +2304,9 @@ void SmXMLRowContext_Impl::EndElement() } SmToken aDummy; - SmStructureNode *pSNode = new SmExpressionNode(aDummy); + std::unique_ptr<SmStructureNode> pSNode(new SmExpressionNode(aDummy)); pSNode->SetSubNodes(aRelationArray); - rNodeStack.push_front(pSNode); + rNodeStack.push_front(std::move(pSNode)); } @@ -2429,8 +2433,9 @@ void SmXMLMultiScriptsContext_Impl::ProcessSubSupPairs(bool bIsPrescript) SmNodeStack aReverseStack; for (size_t i = 0; i < nCount + 1; i++) { - auto pNode = rNodeStack.pop_front(); - aReverseStack.push_front(pNode.release()); + auto pNode = std::move(rNodeStack.front()); + rNodeStack.pop_front(); + aReverseStack.push_front(std::move(pNode)); } SmSubSup eSub = bIsPrescript ? LSUB : RSUB; @@ -2438,7 +2443,7 @@ void SmXMLMultiScriptsContext_Impl::ProcessSubSupPairs(bool bIsPrescript) for (size_t i = 0; i < nCount; i += 2) { - SmSubSupNode *pNode = new SmSubSupNode(aToken); + std::unique_ptr<SmSubSupNode> pNode(new SmSubSupNode(aToken)); // initialize subnodes array SmNodeArray aSubNodes(1 + SUBSUP_NUM_ENTRIES); @@ -2459,11 +2464,12 @@ void SmXMLMultiScriptsContext_Impl::ProcessSubSupPairs(bool bIsPrescript) aSubNodes[eSup+1] = pScriptNode; pNode->SetSubNodes(aSubNodes); - aReverseStack.push_front(pNode); + aReverseStack.push_front(std::move(pNode)); } assert(!aReverseStack.empty()); - auto pNode = aReverseStack.pop_front(); - rNodeStack.push_front(pNode.release()); + auto pNode = std::move(aReverseStack.front()); + aReverseStack.pop_front(); + rNodeStack.push_front(std::move(pNode)); } else { @@ -2489,8 +2495,8 @@ void SmXMLTableContext_Impl::EndElement() SmStructureNode *pArray; for (auto i=nRows;i > 0;i--) { - auto pNode = rNodeStack.pop_front(); - pArray = static_cast<SmStructureNode *>(pNode.release()); + pArray = static_cast<SmStructureNode *>(rNodeStack.front().release()); + rNodeStack.pop_front(); if (pArray->GetNumSubNodes() == 0) { //This is a little tricky, it is possible that there was @@ -2511,14 +2517,14 @@ void SmXMLTableContext_Impl::EndElement() if (pArray->GetNumSubNodes() > nCols) nCols = pArray->GetNumSubNodes(); - aReverseStack.push_front(pArray); + aReverseStack.push_front(std::unique_ptr<SmStructureNode>(pArray)); } aExpressionArray.resize(nCols*nRows); size_t j=0; while ( !aReverseStack.empty() ) { - auto pNode = aReverseStack.pop_front(); - pArray = static_cast<SmStructureNode *>(pNode.release()); + pArray = static_cast<SmStructureNode *>(aReverseStack.front().release()); + aReverseStack.pop_front(); for (sal_uInt16 i=0;i<pArray->GetNumSubNodes();i++) aExpressionArray[j++] = pArray->GetSubNode(i); } @@ -2527,10 +2533,10 @@ void SmXMLTableContext_Impl::EndElement() aToken.cMathChar = '\0'; aToken.nGroup = TRGROUP; aToken.eType = TMATRIX; - SmMatrixNode *pSNode = new SmMatrixNode(aToken); + std::unique_ptr<SmMatrixNode> pSNode(new SmMatrixNode(aToken)); pSNode->SetSubNodes(aExpressionArray); pSNode->SetRowCol(static_cast<sal_uInt16>(nRows),nCols); - rNodeStack.push_front(pSNode); + rNodeStack.push_front(std::move(pSNode)); } SvXMLImportContext *SmXMLTableRowContext_Impl::CreateChildContext( @@ -2630,12 +2636,13 @@ void SmXMLActionContext_Impl::EndElement() { rNodeStack.pop_front(); } - auto pSelected = rNodeStack.pop_front(); + auto pSelected = std::move(rNodeStack.front()); + rNodeStack.pop_front(); for (auto i=rNodeStack.size()-nElementCount; i > 0; i--) { rNodeStack.pop_front(); } - rNodeStack.push_front(pSelected.release()); + rNodeStack.push_front(std::move(pSelected)); } SvXMLImportContext *SmXMLImport::CreateContext(sal_uInt16 nPrefix, diff --git a/starmath/source/parse.cxx b/starmath/source/parse.cxx index e2ae2e2..d59fed9 100644 --- a/starmath/source/parse.cxx +++ b/starmath/source/parse.cxx @@ -23,6 +23,7 @@ #include <editeng/unolingu.hxx> #include <unotools/syslocale.hxx> #include <sal/macros.h> +#include <o3tl/make_unique.hxx> #include <vcl/settings.hxx> #include "parse.hxx" #include "starmath.hrc" @@ -978,13 +979,14 @@ void SmParser::DoTable() for (size_t i = 0; i < n; i++) { - auto pNode = m_aNodeStack.pop_front(); + auto pNode = std::move(m_aNodeStack.front()); + m_aNodeStack.pop_front(); LineArray[n - (i + 1)] = pNode.release(); } - SmStructureNode *pSNode = new SmTableNode(m_aCurToken); + std::unique_ptr<SmStructureNode> pSNode(new SmTableNode(m_aCurToken)); pSNode->SetSubNodes(LineArray); - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::move(pSNode)); } void SmParser::DoAlign() @@ -1012,7 +1014,7 @@ void SmParser::DoAlign() if (pSNode) { pSNode->SetSubNode(0, popOrZero(m_aNodeStack)); - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::unique_ptr<SmStructureNode>(pSNode)); } } @@ -1045,9 +1047,9 @@ void SmParser::DoLine() ExpressionArray.push_back(new SmExpressionNode(aTok)); } - SmStructureNode *pSNode = new SmLineNode(m_aCurToken); + std::unique_ptr<SmStructureNode> pSNode(new SmLineNode(m_aCurToken)); pSNode->SetSubNodes(ExpressionArray); - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::move(pSNode)); } void SmParser::DoExpression() @@ -1055,11 +1057,16 @@ void SmParser::DoExpression() bool bUseExtraSpaces = true; if (!m_aNodeStack.empty()) { - auto pNode = m_aNodeStack.pop_front(); + auto pNode = std::move(m_aNodeStack.front()); + m_aNodeStack.pop_front(); if (pNode->GetToken().eType == TNOSPACE) bUseExtraSpaces = false; else - m_aNodeStack.push_front(pNode.release()); // push the node from above again (now to be used as argument to this current 'nospace' node) + { + // push the node from above again (now to be used as argument + // to this current 'nospace' node) + m_aNodeStack.push_front(std::move(pNode)); + } } SmNodeArray RelationArray; @@ -1075,15 +1082,15 @@ void SmParser::DoExpression() if (RelationArray.size() > 1) { - SmExpressionNode *pSNode = new SmExpressionNode(m_aCurToken); + std::unique_ptr<SmExpressionNode> pSNode(new SmExpressionNode(m_aCurToken)); pSNode->SetSubNodes(RelationArray); pSNode->SetUseExtraSpaces(bUseExtraSpaces); - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::move(pSNode)); } else { // This expression has only one node so just push this node. - m_aNodeStack.push_front(RelationArray[0]); + m_aNodeStack.push_front(std::unique_ptr<SmNode>(RelationArray[0])); } } @@ -1092,7 +1099,7 @@ void SmParser::DoRelation() DoSum(); while (TokenInGroup(TGRELATION)) { - SmStructureNode *pSNode = new SmBinHorNode(m_aCurToken); + std::unique_ptr<SmStructureNode> pSNode(new SmBinHorNode(m_aCurToken)); SmNode *pFirst = popOrZero(m_aNodeStack); DoOpSubSup(); @@ -1101,7 +1108,7 @@ void SmParser::DoRelation() DoSum(); pSNode->SetSubNodes(pFirst, pSecond, popOrZero(m_aNodeStack)); - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::move(pSNode)); } } @@ -1110,7 +1117,7 @@ void SmParser::DoSum() DoProduct(); while (TokenInGroup(TGSUM)) { - SmStructureNode *pSNode = new SmBinHorNode(m_aCurToken); + std::unique_ptr<SmStructureNode> pSNode(new SmBinHorNode(m_aCurToken)); SmNode *pFirst = popOrZero(m_aNodeStack); DoOpSubSup(); @@ -1119,7 +1126,7 @@ void SmParser::DoSum() DoProduct(); pSNode->SetSubNodes(pFirst, pSecond, popOrZero(m_aNodeStack)); - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::move(pSNode)); } } @@ -1195,7 +1202,7 @@ void SmParser::DoProduct() { pSNode->SetSubNodes(pFirst, pOper, popOrZero(m_aNodeStack)); } - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::unique_ptr<SmStructureNode>(pSNode)); } } @@ -1208,7 +1215,7 @@ void SmParser::DoSubSup(sal_uLong nActiveGroup) // already finish return; - SmSubSupNode *pNode = new SmSubSupNode(m_aCurToken); + std::unique_ptr<SmSubSupNode> pNode(new SmSubSupNode(m_aCurToken)); //! Of course 'm_aCurToken' is just the first sub-/supscript token. //! It should be of no further interest. The positions of the //! sub-/supscripts will be identified by the corresponding subnodes @@ -1264,13 +1271,13 @@ void SmParser::DoSubSup(sal_uLong nActiveGroup) } pNode->SetSubNodes(aSubNodes); - m_aNodeStack.push_front(pNode); + m_aNodeStack.push_front(std::move(pNode)); } void SmParser::DoOpSubSup() { // push operator symbol - m_aNodeStack.push_front(new SmMathSymbolNode(m_aCurToken)); + m_aNodeStack.push_front(o3tl::make_unique<SmMathSymbolNode>(m_aCurToken)); // skip operator token NextToken(); // get sub- supscripts if any @@ -1289,7 +1296,7 @@ void SmParser::DoPower() void SmParser::DoBlank() { OSL_ENSURE(TokenInGroup(TGBLANK), "Sm : wrong token"); - SmBlankNode *pBlankNode = new SmBlankNode(m_aCurToken); + std::unique_ptr<SmBlankNode> pBlankNode(new SmBlankNode(m_aCurToken)); while (TokenInGroup(TGBLANK)) { @@ -1304,7 +1311,7 @@ void SmParser::DoBlank() pBlankNode->Clear(); } - m_aNodeStack.push_front(pBlankNode); + m_aNodeStack.push_front(std::move(pBlankNode)); } void SmParser::DoTerm(bool bGroupNumberIdent) @@ -1321,7 +1328,7 @@ void SmParser::DoTerm(bool bGroupNumberIdent) bool bNoSpace = m_aCurToken.eType == TNOSPACE; if (bNoSpace) // push 'no space' node and continue to parse expression { - m_aNodeStack.push_front(new SmExpressionNode(m_aCurToken)); + m_aNodeStack.push_front(o3tl::make_unique<SmExpressionNode>(m_aCurToken)); NextToken(); } if (m_aCurToken.eType != TLGROUP) @@ -1338,9 +1345,9 @@ void SmParser::DoTerm(bool bGroupNumberIdent) { if (bNoSpace) // get rid of the 'no space' node pushed above m_aNodeStack.pop_front(); - SmStructureNode *pSNode = new SmExpressionNode(m_aCurToken); + std::unique_ptr<SmStructureNode> pSNode(new SmExpressionNode(m_aCurToken)); pSNode->SetSubNodes(NULL, NULL); - m_aNodeStack.push_front(pSNode); + m_aNodeStack.push_front(std::move(pSNode)); NextToken(); } @@ -1366,17 +1373,17 @@ void SmParser::DoTerm(bool bGroupNumberIdent) break; case TTEXT : - m_aNodeStack.push_front(new SmTextNode(m_aCurToken, FNT_TEXT)); + m_aNodeStack.push_front(o3tl::make_unique<SmTextNode>(m_aCurToken, FNT_TEXT)); NextToken(); break; case TCHARACTER : - m_aNodeStack.push_front(new SmTextNode(m_aCurToken, FNT_VARIABLE)); + m_aNodeStack.push_front(o3tl::make_unique<SmTextNode>(m_aCurToken, FNT_VARIABLE)); NextToken(); break; ... etc. - the rest is truncated
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits