rendered paste bodyIndex: src/collection.cpp
===================================================================
--- src/collection.cpp (revision 81816)
+++ src/collection.cpp (working copy)
@@ -17,6 +17,7 @@
#include "brush.h"
#include "animation.h"
#include "transform.h"
+#include "namescope.h"
Collection::Node::Node (DependencyObject *dob, DependencyObject *parent)
{
@@ -64,6 +65,11 @@
list->Append (new Collection::Node (data, this));
data->Attach (NULL, this);
+ NameScope *ns = data->FindNameScope ();
+ NameScope *con_ns = ((DependencyObject *) closure)->FindNameScope ();
+ if (ns && con_ns && ns != con_ns)
+ con_ns->MergeTemporaryScope (ns);
+
if (closure)
closure->OnCollectionChanged (this, CollectionChangeTypeItemAdded, data, NULL);
}
@@ -78,6 +84,11 @@
data->Attach (NULL, this);
+ NameScope *ns = data->FindNameScope ();
+ NameScope *con_ns = ((DependencyObject *) closure)->FindNameScope ();
+ if (ns && con_ns && ns != con_ns)
+ con_ns->MergeTemporaryScope (ns);
+
if (closure)
closure->OnCollectionChanged (this, CollectionChangeTypeItemAdded, data, NULL);
}