summarylogtreecommitdiffstats
path: root/xerces-containing-node.patch
blob: 6ab3a5b104e45d4130178a006160efa49c8706d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
--- a/src/dom-api/impl/XPathDocumentImpl.cpp	2017-09-03 19:24:35 UTC
+++ b/src/dom-api/impl/XPathDocumentImpl.cpp
@@ -62,7 +62,11 @@ DOMNode *XPathDocumentImpl::insertBefore
     if (thisNodeImpl->isReadOnly())
         throw DOMException(DOMException::NO_MODIFICATION_ALLOWED_ERR, 0, getMemoryManager());
 
+#if _XERCES_VERSION >= 30200
+    DOMNode* thisNode = fParent.fContainingNode;
+#else
     DOMNode* thisNode = castToNode(&fParent);
+#endif
     if (newChild->getOwnerDocument() != thisNode)
         throw DOMException(DOMException::WRONG_DOCUMENT_ERR, 0, getMemoryManager());
 
--- a/src/dom-api/impl/XPathNamespaceImpl.cpp	2017-09-03 20:26:37 UTC
+++ b/src/dom-api/impl/XPathNamespaceImpl.cpp
@@ -33,7 +33,11 @@ XERCES_CPP_NAMESPACE_USE;
 
 XPathNamespaceImpl::XPathNamespaceImpl(const XMLCh* const nsPrefix, 
 		const XMLCh* const nsUri, DOMElement *owner, DOMDocument *docOwner) 
+#if _XERCES_VERSION >= 30200 
+	: fNode(this, docOwner)
+#else
 	: fNode(docOwner)
+#endif
 {
     DOMNodeImpl *argImpl = castToNodeImpl(this);
 
@@ -54,7 +58,13 @@ XPathNamespaceImpl::XPathNamespaceImpl(c
 }
 
 XPathNamespaceImpl::XPathNamespaceImpl(const XPathNamespaceImpl &other) 
-	: fNode(other.fNode), uri(other.uri), prefix(other.prefix)
+#if _XERCES_VERSION >= 30200 
+	: fNode(this, other.fNode),
+#else
+	: fNode(other.fNode), 
+
+#endif
+	  uri(other.uri), prefix(other.prefix)
 {
 }
 
@@ -196,7 +206,11 @@ short            XPathNamespaceImpl::com
 
     //if it is a custom node and bigger than us we must ask it for the order
     if(otherType > DOMXPathNamespace::XPATH_NAMESPACE_NODE) {
+#if _XERCES_VERSION >= 30200 
+        DOMNodeImpl tmp(const_cast<XPathNamespaceImpl *>(this), 0);
+#else
         DOMNodeImpl tmp(0);
+#endif
 #if _XERCES_VERSION >= 30000
         return tmp.reverseTreeOrderBitPattern(other->compareDocumentPosition(this));
 #else