summaryrefslogtreecommitdiff
path: root/liblangtag
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2012-11-22 18:56:58 +0100
committerStephan Bergmann <sbergman@redhat.com>2012-11-22 18:59:56 +0100
commit08ac75fce3cffc0457455b56d6bf8ead285a0dde (patch)
treeeabbf7dbad00613b50e965f88dceecc5168144c5 /liblangtag
parenta4471c3321105d062f7e3f894065eace5574ff9a (diff)
Use xmlDocCopyNode to merge nodes into different docs in liblangtag
...otherwise, at least an --enable-dbgutil --without-system-libxml build will issue warnings at soffice.bin exit, as liblangtag merged together docs with xmlCopyNode (instead of xmlDocCopyNode) and xmlAddChild, and libxml2's debugXML.c xmlCtxtCheckName then stumbles over the merged-in nodes whose strings do not belong to the dict of the doc they got merged into. Change-Id: I5d7889670b897cbeb9ca8a555d8f2d770a8ee692
Diffstat (limited to 'liblangtag')
-rw-r--r--liblangtag/UnpackedTarball_langtag.mk4
-rw-r--r--liblangtag/liblangtag-0.4.0-xmlDocCopyNode.patch11
2 files changed, 15 insertions, 0 deletions
diff --git a/liblangtag/UnpackedTarball_langtag.mk b/liblangtag/UnpackedTarball_langtag.mk
index f8adaa8942ca..94e6b1b4fb6f 100644
--- a/liblangtag/UnpackedTarball_langtag.mk
+++ b/liblangtag/UnpackedTarball_langtag.mk
@@ -11,6 +11,10 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,langtag))
$(eval $(call gb_UnpackedTarball_set_tarball,langtag,$(LIBLANGTAG_TARBALL)))
+$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
+ liblangtag/liblangtag-0.4.0-xmlDocCopyNode.patch \
+))
+
ifeq ($(OS),MACOSX)
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
liblangtag/liblangtag-0.4.0-mac.patch \
diff --git a/liblangtag/liblangtag-0.4.0-xmlDocCopyNode.patch b/liblangtag/liblangtag-0.4.0-xmlDocCopyNode.patch
new file mode 100644
index 000000000000..44b28d8784aa
--- /dev/null
+++ b/liblangtag/liblangtag-0.4.0-xmlDocCopyNode.patch
@@ -0,0 +1,11 @@
+--- misc/liblangtag-0.4.0/liblangtag/lt-xml.c
++++ misc/build/liblangtag-0.4.0/liblangtag/lt-xml.c
+@@ -292,7 +292,7 @@ _lt_xml_merge_keys(lt_xml_t *xml,
+ }
+ n = xmlXPathNodeSetGetLength(xobj->nodesetval);
+ for (i = 0; i < n; i++) {
+- xmlNodePtr p = xmlCopyNode(xmlXPathNodeSetItem(xobj->nodesetval, i), 1);
++ xmlNodePtr p = xmlDocCopyNode(xmlXPathNodeSetItem(xobj->nodesetval, i), doc1, 1);
+
+ xmlAddChild(parent_node, p);
+ }