|
From: <mcu...@us...> - 2009-04-23 09:35:34
|
Revision: 1383
http://orm.svn.sourceforge.net/orm/?rev=1383&view=rev
Author: mcurland
Date: 2009-04-23 09:35:17 +0000 (Thu, 23 Apr 2009)
Log Message:
-----------
The framework is retrieving delete closures during undo/redo operations. Make sure that MultiShapeUtility does not attempt to do reconfigure if a transaction is not active. Fixed a crashing scenario of a delete/undo/redo sequence on a subtype with two subtype shapes and one supertype shape on the same diagram. refs #316
Modified Paths:
--------------
trunk/ORMModel/Framework/Diagrams/MultiShapeUtility.cs
trunk/ORMModel/ShapeModel/SubtypeLink.cs
trunk/Setup/Readme.htm
Modified: trunk/ORMModel/Framework/Diagrams/MultiShapeUtility.cs
===================================================================
--- trunk/ORMModel/Framework/Diagrams/MultiShapeUtility.cs 2009-04-21 00:23:23 UTC (rev 1382)
+++ trunk/ORMModel/Framework/Diagrams/MultiShapeUtility.cs 2009-04-23 09:35:17 UTC (rev 1383)
@@ -555,7 +555,12 @@
{
throw new ArgumentNullException("link");
}
- Dictionary<object, object> contextInfo = link.Store.TransactionManager.CurrentTransaction.TopLevelTransaction.Context.ContextInfo;
+ Store store = link.Store;
+ if (store.InUndoRedoOrRollback)
+ {
+ return;
+ }
+ Dictionary<object, object> contextInfo = store.TransactionManager.CurrentTransaction.TopLevelTransaction.Context.ContextInfo;
if (IsSecondaryLinkReconfigureBlocked(contextInfo, link))
{
return;
Modified: trunk/ORMModel/ShapeModel/SubtypeLink.cs
===================================================================
--- trunk/ORMModel/ShapeModel/SubtypeLink.cs 2009-04-21 00:23:23 UTC (rev 1382)
+++ trunk/ORMModel/ShapeModel/SubtypeLink.cs 2009-04-23 09:35:17 UTC (rev 1383)
@@ -437,11 +437,14 @@
SubtypeFact subtypeFact = AssociatedSubtypeFact;
ObjectType subType = subtypeFact.Subtype;
ObjectType superType = subtypeFact.Supertype;
- FactType nestedSubFact = subType.NestedFactType;
- FactType nestedSuperFact = superType.NestedFactType;
+ if (subType != null && superType != null)
+ {
+ FactType nestedSubFact = subType.NestedFactType;
+ FactType nestedSuperFact = superType.NestedFactType;
- MultiShapeUtility.ReconfigureLink(this, (nestedSubFact == null) ? subType as ModelElement : nestedSubFact as ModelElement,
- (nestedSuperFact == null) ? superType as ModelElement : nestedSuperFact as ModelElement, discludedShape);
+ MultiShapeUtility.ReconfigureLink(this, (nestedSubFact == null) ? subType as ModelElement : nestedSubFact as ModelElement,
+ (nestedSuperFact == null) ? superType as ModelElement : nestedSuperFact as ModelElement, discludedShape);
+ }
}
void IReconfigureableLink.Reconfigure(ShapeElement discludedShape)
{
Modified: trunk/Setup/Readme.htm
===================================================================
--- trunk/Setup/Readme.htm 2009-04-21 00:23:23 UTC (rev 1382)
+++ trunk/Setup/Readme.htm 2009-04-23 09:35:17 UTC (rev 1383)
@@ -41,7 +41,7 @@
</ul>-->
<hr/>
<h2>March 2009 CTP Changes</h2>
-<div>The Math 2009 CTP release includes all modifications through changeset 1382. Full changeset descriptions can be found at the <a href="http://orm.svn.sourceforge.net/viewvc/orm/trunk/?view=log">sourceforge code repository</a> (be patient with this link, the page contains a full changeset history).</div>
+<div>The March 2009 CTP release includes all modifications through changeset 1383. Full changeset descriptions can be found at the <a href="http://orm.svn.sourceforge.net/viewvc/orm/trunk/?view=log">sourceforge code repository</a> (be patient with this link, the page contains a full changeset history).</div>
<ul>
<li>Notable Changes:
<ol>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|