Skip to content

Commit db34965

Browse files
committed
improved matching value check
1 parent c3ca9b2 commit db34965

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

FlashpointSecurePlayer/RegistryStates.cs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,9 @@ private object GetValueInRegistryView(string keyName, string valueName, out Regi
330330
}
331331

332332
private void SetValueInRegistryView(string keyName, string valueName, object value, RegistryValueKind valueKind, RegistryView registryView) {
333+
// save this before converting to Base64 or Array
334+
object _value = value;
335+
333336
switch (valueKind) {
334337
case RegistryValueKind.Binary:
335338
if (value is string binaryValue) {
@@ -356,13 +359,14 @@ private void SetValueInRegistryView(string keyName, string valueName, object val
356359
// if the value already exists and is an exact string match, don't worry about it
357360
// (this is mainly to deal with permissions issues)
358361
try {
359-
object _value = GetValueInRegistryView(keyName, valueName, out RegistryValueKind? _valueKind, registryView);
362+
if (_value is string valueString) {
363+
_value = GetValueInRegistryView(keyName, valueName, out RegistryValueKind? _valueKind, registryView);
360364

361-
if (valueKind == _valueKind) {
362-
if (value is string valueString
363-
&& _value is string _valueString) {
364-
if (valueString.Equals(_valueString, StringComparison.Ordinal)) {
365-
return;
365+
if (valueKind == _valueKind) {
366+
if (_value is string _valueString) {
367+
if (valueString.Equals(_valueString, StringComparison.Ordinal)) {
368+
return;
369+
}
366370
}
367371
}
368372
}

0 commit comments

Comments
 (0)