Dont allow setting to a userdata field if it has no setter
This commit is contained in:
@@ -84,6 +84,8 @@ namespace Porygon::UserData {
|
|||||||
if (!ud->ContainsField(hash.GetHash()))
|
if (!ud->ContainsField(hash.GetHash()))
|
||||||
return false;
|
return false;
|
||||||
auto field = _userData->Get()->GetField(hash.GetHash());
|
auto field = _userData->Get()->GetField(hash.GetHash());
|
||||||
|
if (!field->HasSetter())
|
||||||
|
return false;
|
||||||
return (val->CastableTo(field->GetType(), false) != CastResult::InvalidCast);
|
return (val->CastableTo(field->GetType(), false) != CastResult::InvalidCast);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -93,6 +95,8 @@ namespace Porygon::UserData {
|
|||||||
if (!ud->ContainsField(indexer.GetHash()))
|
if (!ud->ContainsField(indexer.GetHash()))
|
||||||
return false;
|
return false;
|
||||||
auto field = _userData->Get()->GetField(indexer.GetHash());
|
auto field = _userData->Get()->GetField(indexer.GetHash());
|
||||||
|
if (!field->HasSetter())
|
||||||
|
return false;
|
||||||
return (val->CastableTo(field->GetType(), false) != CastResult::InvalidCast);
|
return (val->CastableTo(field->GetType(), false) != CastResult::InvalidCast);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user