diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index 5df5eee1..2adb0a1a 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs @@ -669,7 +669,7 @@ namespace Volian.Controls.Library ItemInfo proc = myItemInfo.MyProcedure; // Find procedure Item string key = "Item - " + proc.ItemID.ToString(); - if (_MyDisplayTabItems.ContainsKey(key)) // If procedure page open use it + if (_MyDisplayTabItems.ContainsKey(key) && pasteType != ItemInfo.EAddpingPart.Replace) // If procedure page open use it unless replace { DisplayTabItem pg = _MyDisplayTabItems[key]; if (pg.MyStepTabPanel.MyStepPanel._LookupEditItems.ContainsKey(myItemInfo.ItemID) && @@ -688,14 +688,14 @@ namespace Volian.Controls.Library edtitm.PasteSiblingAfter(copyStartID); break; case ItemInfo.EAddpingPart.Replace: - + EditItem ei = edtitm.PasteReplace(copyStartID); if (ei == null) - { + { CloseTabItem(_MyDisplayTabItems["Item - " + myItemInfo.ItemID.ToString()]); //Grab itemID and set to close open tab. return false; //B2017-179 PasteReplace will return null if was aborted } - + if (ei.MyItemInfo.ItemID != edtitm.MyItemInfo.ItemID) { edtitm.Dispose(); @@ -708,6 +708,12 @@ namespace Volian.Controls.Library return true; } } + else if (_MyDisplayTabItems.ContainsKey(key) && pasteType == ItemInfo.EAddpingPart.Replace) + { + CloseTabItem(_MyDisplayTabItems["Item - " + myItemInfo.ItemID.ToString()]); //Grab itemID and set to close open tab. + return false; //B2017-179 PasteReplace will return null if was aborted + } + return false; } diff --git a/PROMS/Volian.Controls.Library/EditItem.cs b/PROMS/Volian.Controls.Library/EditItem.cs index 6fa01d23..253a111d 100644 --- a/PROMS/Volian.Controls.Library/EditItem.cs +++ b/PROMS/Volian.Controls.Library/EditItem.cs @@ -1825,8 +1825,8 @@ namespace Volian.Controls.Library EditItem newFocus = null; EditItem nextEditItem = MyNextEditItem; EditItem prevEditItem = MyPreviousEditItem; - if (MyStepPanel?.SelectedEditItem?.ActiveParent == null) return null; //Was causing an error when active parent was null and the replaced proc was opened in the editor. - EditItem parentEditItem = ActiveParent; + //if (MyStepPanel?.SelectedEditItem?.ActiveParent == null) return null; //Was causing an error// when active parent was null and the replaced proc was opened in the editor. + EditItem parentEditItem = MyStepPanel?.SelectedEditItem?.ActiveParent; StepConfig savOrigPasteConfig = MyItemInfo.MyConfig as StepConfig; int TopMostYBefore = TopMostEditItem.Top;