Fixed null reference error when inserting a figure off of a figure

This commit is contained in:
2016-06-01 14:49:59 +00:00
parent 0166b06209
commit 6ed306e8b9
3 changed files with 18 additions and 10 deletions

View File

@@ -578,12 +578,11 @@ namespace Volian.Controls.Library
EditItem lastChild = LastChild(siblingEditItems);
siblingEditItems.Add(this);
MyPreviousEditItem = lastChild;
if (MyParentEditItem == null) MyParentEditItem = parentEditItem;
}
else // Add to the middle of the list before a particular item
{
EditItem prevChild = nextEditItem.MyPreviousEditItem;
EditItem parent = nextEditItem.MyParentEditItem??parentEditItem;
EditItem parent = nextEditItem.MyParentEditItem;
if(siblingEditItems.Contains(nextEditItem))
siblingEditItems.Insert(siblingEditItems.IndexOf(nextEditItem), this);
else
@@ -592,7 +591,7 @@ namespace Volian.Controls.Library
_MyNextEditItem = nextEditItem;
nextEditItem._MyPreviousEditItem = this;
MyPreviousEditItem = prevChild;// If a previous exists - this will adjust the location and width of the EditItem
//nextEditItem.MyParentEditItem = null; // jsj 5-13-2016 commented out got null referenced error when deleting an empty figure type substep
nextEditItem.MyParentEditItem = null;
MyParentEditItem = parent; // If a parent exists - this will adjust the location and width of the EditItem
//nextEditItem.MyPreviousEditItem = this;
MyStepPanel.ItemMoving--;
@@ -1829,8 +1828,17 @@ namespace Volian.Controls.Library
/// <param name="myStepSectionLayoutData"></param>
/// <param name="width"></param>
/// <returns></returns>
protected Point TableLocation(EditItem myParentEditItem, StepSectionLayoutData myStepSectionLayoutData, int width)
protected Point TableLocation(StepSectionLayoutData myStepSectionLayoutData, int width)
{
// bug fix: B2016-111 - myParentEditItem was getting a null reference error when inserting a figure before/after a figure
EditItem myParentEditItem = _MyParentEditItem;
if (myParentEditItem == null)
{
EditItem parentEI = _MyPreviousEditItem;
while (parentEI._MyPreviousEditItem != null)
parentEI = parentEI._MyPreviousEditItem;
myParentEditItem = parentEI._MyParentEditItem;
}
// Should center on parent unless it is a centered table in the AER column
int center = myParentEditItem.ContentLeft + myParentEditItem.ContentWidth / 2;
int rightLimit = myParentEditItem.Right;