[Libreoffice-commits] core.git: Branch 'feature/glyphy' - 478 commits - avmedia/source basctl/source basebmp/test basic/qa basic/source bean/com bean/qa binaryurp/source bin/get-bugzilla-attachments-by-mimetype bridges/Library_cpp_uno.mk bridges/test canvas/source chart2/qa chart2/source cli_ure/source codemaker/source comphelper/inc comphelper/qa comphelper/source compilerplugins/clang config_host/config_global.h.in config_host.mk.in configmgr/qa configmgr/source configure.ac connectivity/qa connectivity/source cppcanvas/source cppuhelper/source cppu/source cpputools/source cui/source cui/uiconfig dbaccess/qa dbaccess/source desktop/inc desktop/qa desktop/source distro-configs/Jenkins download.lst drawinglayer/source dtrans/source editeng/qa editeng/source embeddedobj/source eventattacher/source extensions/qa extensions/source external/glyphy external/icu external/liblangtag external/Module_external.mk filter/CppunitTest_filter_dxf_test.mk filter/CppunitTest_filter_eps_test.mk filter/CppunitTest _filter_met_test.mk filter/CppunitTest_filter_pcd_test.mk filter/CppunitTest_filter_pcx_test.mk filter/CppunitTest_filter_pict_test.mk filter/CppunitTest_filter_ppm_test.mk filter/CppunitTest_filter_psd_test.mk filter/CppunitTest_filter_ras_test.mk filter/CppunitTest_filter_tga_test.mk filter/CppunitTest_filter_tiff_test.mk filter/Library_egi.mk filter/Library_eme.mk filter/Library_epb.mk filter/Library_epg.mk filter/Library_epp.mk filter/Library_eps.mk filter/Library_ept.mk filter/Library_era.mk filter/Library_eti.mk filter/Library_exp.mk filter/Library_gie.mk filter/Library_icd.mk filter/Library_idx.mk filter/Library_ime.mk filter/Library_ipb.mk filter/Library_ipd.mk filter/Library_ips.mk filter/Library_ipt.mk filter/Library_ipx.mk filter/Library_ira.mk filter/Library_itg.mk filter/Library_iti.mk filter/Module_filter.mk filter/qa filter/source forms/qa forms/source formula/source fpicker/source framework/inc framework/qa framework/source helpcompiler/inc helpcompiler/source helpco ntent2 hwpfilter/source i18npool/inc i18npool/Library_localedata_others.mk i18npool/qa i18npool/source i18nutil/source icon-themes/galaxy icon-themes/sifr idlc/source include/canvas include/comphelper include/cppuhelper include/drawinglayer include/editeng include/framework include/LibreOfficeKit include/o3tl include/oox include/rtl include/sfx2 include/svx include/toolkit include/tools include/vcl include/xmloff io/source io/test javaunohelper/com javaunohelper/source javaunohelper/test jurt/com jvmfwk/Library_jvmfwk.mk jvmfwk/plugins jvmfwk/source l10ntools/source libreofficekit/qa libreofficekit/source lingucomponent/source linguistic/qa linguistic/source lotuswordpro/qa lotuswordpro/source m4/libo_externals.m4 Makefile.fetch mysqlc/source nlpsolver/src offapi/com officecfg/registry onlineupdate/Executable_mar.mk onlineupdate/source oox/source package/source pyuno/source qadevOOo/runner qadevOOo/tests registry/tools reportbuilder/java reportdesign/source RepositoryExternal.mk Rep ository.mk ridljar/test sal/CppunitTest_sal_rtl_ref.mk sal/Module_sal.mk sal/osl sal/qa sal/rtl sax/source sax/test scaddins/source sc/inc sc/Library_sc.mk sc/qa scripting/java scripting/source sc/sdi sc/source sc/uiconfig sc/UIConfig_scalc.mk sd/CppunitTest_sd_svg_export_tests.mk sdext/source sd/inc sd/Module_sd.mk sd/qa sd/source sd/uiconfig sd/xml sfx2/source shell/source slideshow/opengl slideshow/Package_opengl.mk slideshow/source slideshow/test smoketest/smoketest.cxx solenv/gbuild sot/source starmath/inc starmath/source stoc/source stoc/test svgio/source svl/source svtools/source svtools/uiconfig svx/inc svx/Library_svxcore.mk svx/source svx/workben swext/mediawiki sw/inc sw/qa sw/source sw/uiconfig test/source testtools/source toolkit/inc toolkit/source toolkit/test tools/inc tools/qa tools/source ucbhelper/source ucb/source udkapi/com unodevtools/source unoidl/source unotest/source unotools/qa unotools/source unoxml/qa unoxml/source uui/source vbahelper/source vcl/generic v cl/inc vcl/Library_vcl.mk vcl/osx vcl/qa vcl/quartz vcl/README.vars vcl/source vcl/unx vcl/workben winaccessibility/source wizards/com writerfilter/qa writerfilter/source xmerge/source xmlhelp/source xmloff/inc xmloff/source xmloff/util xmlscript/source xmlsecurity/source xmlsecurity/workben
Tor Lillqvist
tml at collabora.com
Mon Nov 9 21:39:09 PST 2015
Rebased ref, commits from common ancestor:
commit 9d97bf50ee7d8cf157f4bab3bb0a19ea6a918a51
Author: Tor Lillqvist <tml at 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 <tml at 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 <tml at 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 <tml at 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.mohrhard at 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.mohrhard at 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.nemeth at 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.Behrens at 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.Behrens at CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens at 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.michaelsen at 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 <mstahl at 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.michaelsen at 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.michaelsen at 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 <sbergman at 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 <sbergman at 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 <ci at libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman at 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.michaelsen at 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 <sbergman at 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 <sbergman at 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 <erack at 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 <erack at 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 <erack at 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 <erack at 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 <erack at 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 <devghasan at 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 <nthiebaud at 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 <mstahl at 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
More information about the Libreoffice-commits
mailing list