summaryrefslogtreecommitdiff
path: root/libxsd
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-05-31 08:51:12 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-05-31 08:51:12 +0200
commit0d4790ae071990d18883c0fb799b938ff53b5c62 (patch)
tree4dc70e86d3461c406ebb33fa2df8a375b1359a4d /libxsd
parent4515aa99a3397e97f1565117ffd5b8c4741115e0 (diff)
Require explicit keep_dom flag to maintain association in copies
Diffstat (limited to 'libxsd')
-rw-r--r--libxsd/xsd/cxx/tree/elements.hxx4
1 files changed, 2 insertions, 2 deletions
diff --git a/libxsd/xsd/cxx/tree/elements.hxx b/libxsd/xsd/cxx/tree/elements.hxx
index 8705c20..53420aa 100644
--- a/libxsd/xsd/cxx/tree/elements.hxx
+++ b/libxsd/xsd/cxx/tree/elements.hxx
@@ -968,10 +968,10 @@ namespace xsd
};
inline _type::
- _type (const type& x, flags, container* c)
+ _type (const type& x, flags f, container* c)
: container_ (c)
{
- if (x.dom_info_.get ())
+ if (x.dom_info_.get () != 0 && (f & flags::keep_dom))
{
std::auto_ptr<dom_info> r (x.dom_info_->clone (*this, c));
dom_info_ = r;