Device visualizer - Fix framerate drop when processing mouse events

Profile tree - Fixed potential crash when dragging files over Artemis
Module reorder - Fixed potential crash when dragging files over Artemis
This commit is contained in:
SpoinkyNL committed 2020-12-15 00:05:42 +01:00
1 parent c401bc6525
commit 7ffe8f3e5b
3 files changed
+31 -30

No files matched your search

@@ -2,7 +2,6 @@
using System.Linq;
using System.Windows;
using Artemis.Core;
using Artemis.Storage.Entities.Profile;
using Artemis.UI.Ninject.Factories;
using Artemis.UI.Screens.ProfileEditor.ProfileTree.TreeItem;
using Artemis.UI.Shared;
@@ -74,8 +73,8 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
private static DragDropType GetDragDropType(IDropInfo dropInfo)
{
TreeItemViewModel source = (TreeItemViewModel)dropInfo.Data;
TreeItemViewModel target = (TreeItemViewModel)dropInfo.TargetItem;
if (!(dropInfo.Data is TreeItemViewModel source) || !(dropInfo.TargetItem is TreeItemViewModel target))
return DragDropType.None;
if (source == target)
return DragDropType.None;
@@ -121,14 +120,16 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree
public void Drop(IDropInfo dropInfo)
{
TreeItemViewModel source = (TreeItemViewModel)dropInfo.Data;
TreeItemViewModel target = (TreeItemViewModel)dropInfo.TargetItem;
if (!(dropInfo.Data is TreeItemViewModel source) || !(dropInfo.TargetItem is TreeItemViewModel target))
return;
if (source == target)
return;
DragDropType dragDropType = GetDragDropType(dropInfo);
switch (dragDropType)
{
case DragDropType.Add:
((TreeItemViewModel)source.Parent).RemoveExistingElement(source);
((TreeItemViewModel) source.Parent).RemoveExistingElement(source);
target.AddExistingElement(source);
break;
case DragDropType.InsertBefore: