diff options
author | Caolán McNamara <caolanm@redhat.com> | 2010-10-14 13:04:33 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2010-10-14 13:34:16 +0100 |
commit | 0e70d593ef28636a54f204b9a395e73f2308f4c4 (patch) | |
tree | b2cd4dc8772fb253094724c8804a9700fb9b13bc /unoxml | |
parent | fdo#30825# someone needs to hold the originating node (diff) | |
download | core-0e70d593ef28636a54f204b9a395e73f2308f4c4.tar.gz core-0e70d593ef28636a54f204b9a395e73f2308f4c4.zip |
fdo#30825# fix more ownership issues
Diffstat (limited to 'unoxml')
-rw-r--r-- | unoxml/source/xpath/nodelist.cxx | 3 | ||||
-rw-r--r-- | unoxml/source/xpath/nodelist.hxx | 3 | ||||
-rw-r--r-- | unoxml/source/xpath/xpathobject.cxx | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/unoxml/source/xpath/nodelist.cxx b/unoxml/source/xpath/nodelist.cxx index 5ae839a4e09b..4d7241e5b738 100644 --- a/unoxml/source/xpath/nodelist.cxx +++ b/unoxml/source/xpath/nodelist.cxx @@ -31,8 +31,9 @@ namespace XPath { - CNodeList::CNodeList(boost::shared_ptr<xmlXPathObject>& rxpathObj) + CNodeList::CNodeList(boost::shared_ptr<xmlXPathObject>& rxpathObj, const Reference< XNode >& contextNode) : m_pNodeSet(0) + , m_xContextNode(contextNode) { if (rxpathObj != NULL && rxpathObj->type == XPATH_NODESET) { diff --git a/unoxml/source/xpath/nodelist.hxx b/unoxml/source/xpath/nodelist.hxx index 68f419f10174..110e048b103c 100644 --- a/unoxml/source/xpath/nodelist.hxx +++ b/unoxml/source/xpath/nodelist.hxx @@ -53,10 +53,11 @@ namespace XPath { private: boost::shared_ptr<xmlXPathObject> m_pXPathObj; + const Reference< XNode > m_xContextNode; xmlNodeSetPtr m_pNodeSet; public: - CNodeList(boost::shared_ptr<xmlXPathObject> &rxpathObj); + CNodeList(boost::shared_ptr<xmlXPathObject> &rxpathObj, const Reference< XNode >& contextNode); /** The number of nodes in the list. */ diff --git a/unoxml/source/xpath/xpathobject.cxx b/unoxml/source/xpath/xpathobject.cxx index 8d5343edbe97..1e20179a0d01 100644 --- a/unoxml/source/xpath/xpathobject.cxx +++ b/unoxml/source/xpath/xpathobject.cxx @@ -86,7 +86,7 @@ namespace XPath */ Reference< XNodeList > SAL_CALL CXPathObject::getNodeList() throw (RuntimeException) { - return Reference< XNodeList >(new CNodeList(m_pXPathObj)); + return Reference< XNodeList >(new CNodeList(m_pXPathObj, m_xContextNode)); } /** |