projects
/
shibboleth
/
cpp-xmltooling.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
ada278e
)
Check for same document assignment.
author
Scott Cantor
<cantor.2@osu.edu>
Fri, 16 Oct 2009 01:11:45 +0000
(
01:11
+0000)
committer
Scott Cantor
<cantor.2@osu.edu>
Fri, 16 Oct 2009 01:11:45 +0000
(
01:11
+0000)
xmltooling/AbstractDOMCachingXMLObject.cpp
patch
|
blob
|
history
diff --git
a/xmltooling/AbstractDOMCachingXMLObject.cpp
b/xmltooling/AbstractDOMCachingXMLObject.cpp
index
476eccd
..
bfd0353
100644
(file)
--- a/
xmltooling/AbstractDOMCachingXMLObject.cpp
+++ b/
xmltooling/AbstractDOMCachingXMLObject.cpp
@@
-65,9
+65,11
@@
void AbstractDOMCachingXMLObject::setDOM(DOMElement* dom, bool bindDocument) con
void AbstractDOMCachingXMLObject::setDocument(DOMDocument* doc) const
{
void AbstractDOMCachingXMLObject::setDocument(DOMDocument* doc) const
{
- if (m_document)
- m_document->release();
- m_document=doc;
+ if (m_document != doc) {
+ if (m_document)
+ m_document->release();
+ m_document=doc;
+ }
}
void AbstractDOMCachingXMLObject::releaseDOM() const
}
void AbstractDOMCachingXMLObject::releaseDOM() const
@@
-94,15
+96,17
@@
void AbstractDOMCachingXMLObject::releaseParentDOM(bool propagateRelease) const
}
}
}
}
-class _release : public binary_function<XMLObject*,bool,void> {
-public:
- void operator()(XMLObject* obj, bool propagate) const {
- if (obj) {
- obj->releaseDOM();
- if (propagate)
- obj->releaseChildrenDOM(propagate);
+namespace {
+ class _release : public binary_function<XMLObject*,bool,void> {
+ public:
+ void operator()(XMLObject* obj, bool propagate) const {
+ if (obj) {
+ obj->releaseDOM();
+ if (propagate)
+ obj->releaseChildrenDOM(propagate);
+ }
}
}
- }
+ }
;
};
void AbstractDOMCachingXMLObject::releaseChildrenDOM(bool propagateRelease) const
};
void AbstractDOMCachingXMLObject::releaseChildrenDOM(bool propagateRelease) const