1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2026-01-01 02:03:32 +00:00

Data model conditions - Fixed default values for value types not being applied

This commit is contained in:
SpoinkyNL 2020-10-22 21:44:46 +02:00
parent eb1c99a944
commit a79223fa75
2 changed files with 8 additions and 7 deletions

View File

@ -158,12 +158,12 @@ namespace Artemis.UI.Screens.ProfileEditor.Conditions
if (RightSideInputViewModel == null) if (RightSideInputViewModel == null)
CreateRightSideInputViewModel(); CreateRightSideInputViewModel();
if (SelectedOperator.RightSideType.IsValueType && DataModelConditionListPredicate.RightStaticValue == null) Type preferredType = DataModelConditionListPredicate.GetPreferredRightSideType();
RightSideInputViewModel.Value = SelectedOperator.RightSideType.GetDefault(); if (preferredType.IsValueType && DataModelConditionListPredicate.RightStaticValue == null)
RightSideInputViewModel.Value = preferredType.GetDefault();
else else
RightSideInputViewModel.Value = DataModelConditionListPredicate.RightStaticValue; RightSideInputViewModel.Value = DataModelConditionListPredicate.RightStaticValue;
Type preferredType = DataModelConditionListPredicate.GetPreferredRightSideType();
if (RightSideInputViewModel.TargetType != preferredType) if (RightSideInputViewModel.TargetType != preferredType)
RightSideInputViewModel.UpdateTargetType(preferredType); RightSideInputViewModel.UpdateTargetType(preferredType);
} }

View File

@ -133,12 +133,13 @@ namespace Artemis.UI.Screens.ProfileEditor.Conditions
if (RightSideInputViewModel == null) if (RightSideInputViewModel == null)
CreateRightSideInputViewModel(); CreateRightSideInputViewModel();
if (SelectedOperator.RightSideType.IsValueType && DataModelConditionPredicate.RightStaticValue == null) Type preferredType = DataModelConditionPredicate.GetPreferredRightSideType();
RightSideInputViewModel.Value = SelectedOperator.RightSideType.GetDefault(); // Ensure the right static value is never null when the preferred type is a value type
if (preferredType.IsValueType && DataModelConditionPredicate.RightStaticValue == null)
RightSideInputViewModel.Value = preferredType.GetDefault();
else else
RightSideInputViewModel.Value = DataModelConditionPredicate.RightStaticValue; RightSideInputViewModel.Value = DataModelConditionPredicate.RightStaticValue;
Type preferredType = DataModelConditionPredicate.GetPreferredRightSideType();
if (RightSideInputViewModel.TargetType != preferredType) if (RightSideInputViewModel.TargetType != preferredType)
RightSideInputViewModel.UpdateTargetType(preferredType); RightSideInputViewModel.UpdateTargetType(preferredType);
} }