diff options
author | Caolán McNamara <caolanm@redhat.com> | 2010-10-14 11:40:14 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2010-10-14 13:34:16 +0100 |
commit | 2c8fc9289fe3e6d96adf564bff79a7dbfa3a6f0d (patch) | |
tree | 9bfec20ed2caf49c6300b8f9f18bd85863bca6d5 /unoxml | |
parent | 4dafaa30e9522c89f2848617d1da3a28ace1e641 (diff) |
fdo#30825# someone needs to hold the originating node
Diffstat (limited to 'unoxml')
-rw-r--r-- | unoxml/source/xpath/xpathapi.cxx | 2 | ||||
-rw-r--r-- | unoxml/source/xpath/xpathobject.cxx | 4 | ||||
-rw-r--r-- | unoxml/source/xpath/xpathobject.hxx | 3 |
3 files changed, 5 insertions, 4 deletions
diff --git a/unoxml/source/xpath/xpathapi.cxx b/unoxml/source/xpath/xpathapi.cxx index 296629fedeea..22307f4e52ae 100644 --- a/unoxml/source/xpath/xpathapi.cxx +++ b/unoxml/source/xpath/xpathapi.cxx @@ -353,7 +353,7 @@ namespace XPath throw XPathException(); } xmlXPathFreeContext(xpathCtx); - Reference< XXPathObject > aObj(new CXPathObject(xpathObj)); + Reference< XXPathObject > aObj(new CXPathObject(xpathObj, contextNode)); return aObj; } diff --git a/unoxml/source/xpath/xpathobject.cxx b/unoxml/source/xpath/xpathobject.cxx index 3a68cfd34ce0..8d5343edbe97 100644 --- a/unoxml/source/xpath/xpathobject.cxx +++ b/unoxml/source/xpath/xpathobject.cxx @@ -32,8 +32,8 @@ namespace XPath { - CXPathObject::CXPathObject(xmlXPathObjectPtr xpathObj) - : m_pXPathObj(xpathObj, xmlXPathFreeObject) + CXPathObject::CXPathObject(xmlXPathObjectPtr xpathObj, const Reference< XNode >& contextNode) + : m_pXPathObj(xpathObj, xmlXPathFreeObject), m_xContextNode(contextNode) { switch (m_pXPathObj->type) { diff --git a/unoxml/source/xpath/xpathobject.hxx b/unoxml/source/xpath/xpathobject.hxx index 8e256bc8a994..348fae8e21e6 100644 --- a/unoxml/source/xpath/xpathobject.hxx +++ b/unoxml/source/xpath/xpathobject.hxx @@ -52,10 +52,11 @@ namespace XPath { private: boost::shared_ptr<xmlXPathObject> m_pXPathObj; + const Reference< XNode > m_xContextNode; XPathObjectType m_xPathObjectType; public: - CXPathObject(xmlXPathObjectPtr xpathObj); + CXPathObject(xmlXPathObjectPtr xpathObj, const Reference< XNode >& contextNode); /** get object type |