aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-07-27 12:00:15 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-07-27 12:00:15 +0200
commitb8cd7bef48b9208223d061b4302c25dd3b09d413 (patch)
tree19ab08e05056b538996642ecd87579edc2bb667f
parentba7c4c312a412b1a7efcb253189d280b1865e971 (diff)
Don't assume source and destination scopes are the same
This is not the case for chameleon-style inclusions.
-rw-r--r--xsde/processing/inheritance/processor.cxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/xsde/processing/inheritance/processor.cxx b/xsde/processing/inheritance/processor.cxx
index e3b7442..5900239 100644
--- a/xsde/processing/inheritance/processor.cxx
+++ b/xsde/processing/inheritance/processor.cxx
@@ -348,7 +348,6 @@ namespace Processing
continue;
}
-
//wcerr << "type '" << t.name () << "' needs to be moved " <<
// "before " << (global.is_a<SG::Type> () ? "type" : "element")
// << " '" << global.name () << "'" << endl;
@@ -365,6 +364,11 @@ namespace Processing
// Insert a new Names edge before global.
//
{
+ // t.scope () and global.scope () can be different in
+ // case of the chameleon inclusion.
+ //
+ Scope& scope (global.scope ());
+
// Convert to the insert-after call.
//
Scope::NamesIterator i (scope.find (global.named ()));