From ede749b3b44c70d6b8f5fc59d4f17a81d6e07a1a Mon Sep 17 00:00:00 2001 From: Scott Cantor Date: Thu, 12 May 2011 22:07:19 +0000 Subject: [PATCH] https://issues.shibboleth.net/jira/browse/CPPOST-64 --- saml/saml1/core/impl/ProtocolsImpl.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/saml/saml1/core/impl/ProtocolsImpl.cpp b/saml/saml1/core/impl/ProtocolsImpl.cpp index d765e13..28a5fe1 100644 --- a/saml/saml1/core/impl/ProtocolsImpl.cpp +++ b/saml/saml1/core/impl/ProtocolsImpl.cpp @@ -66,7 +66,7 @@ namespace opensaml { public AbstractXMLObjectMarshaller, public AbstractXMLObjectUnmarshaller { - xmltooling::QName* m_qname; + mutable xmltooling::QName* m_qname; public: virtual ~RespondWithImpl() { delete m_qname; @@ -82,6 +82,9 @@ namespace opensaml { } xmltooling::QName* getQName() const { + if (!m_qname && getDOM() && getDOM()->getTextContent()) { + m_qname = XMLHelper::getNodeValueAsQName(getDOM()); + } return m_qname; } @@ -91,8 +94,9 @@ namespace opensaml { auto_ptr_XMLCh temp(m_qname->toString().c_str()); setTextContent(temp.get()); } - else + else { setTextContent(nullptr); + } } IMPL_XMLOBJECT_CLONE(RespondWith); -- 2.1.4