Revise scene selection logic - fix selection failure
This commit is contained in:
parent
55ffbd62ba
commit
902799333c
1 changed files with 7 additions and 4 deletions
|
|
@ -871,7 +871,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
if (selectedItem == null)
|
||||
{
|
||||
// No selection exists
|
||||
selectedItem = hitObject;
|
||||
Scene.SelectedItem = hitObject;
|
||||
}
|
||||
else if ((ModifierKeys == Keys.Shift || ModifierKeys == Keys.Control)
|
||||
&& !selectedItem.Children.Contains(hitObject))
|
||||
|
|
@ -885,9 +885,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
else if (ModifierKeys != Keys.Shift)
|
||||
{
|
||||
Scene.SelectedItem = hitObject;
|
||||
selectedItem = hitObject;
|
||||
}
|
||||
|
||||
// Selection may have changed, update local reference to current value
|
||||
selectedItem = Scene.SelectedItem;
|
||||
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
|
|
@ -1167,7 +1169,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
&& !(selectedItem is SelectionGroupObject3D))
|
||||
{
|
||||
Scene.SelectedItem = null;
|
||||
selectedItem = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1192,7 +1193,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
if(selectedItem.Children.Count == 0)
|
||||
{
|
||||
Scene.SelectedItem = null;
|
||||
selectedItem = null;
|
||||
}
|
||||
Scene.Children.Add(selectedHitItem);
|
||||
}
|
||||
|
|
@ -1200,6 +1200,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
{
|
||||
Scene.AddToSelection(hitObject);
|
||||
}
|
||||
|
||||
// Selection may have changed, update local reference to current value
|
||||
selectedItem = Scene.SelectedItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue