[tools 2/2] testbot/cgi: Avoid direct access to the base Page error fields.
Francois Gouget
fgouget at codeweavers.com
Tue Jul 5 10:51:50 CDT 2022
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
testbot/lib/ObjectModel/CGI/FormPage.pm | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/testbot/lib/ObjectModel/CGI/FormPage.pm b/testbot/lib/ObjectModel/CGI/FormPage.pm
index 6f3449b5b2..f2fd0f09cd 100644
--- a/testbot/lib/ObjectModel/CGI/FormPage.pm
+++ b/testbot/lib/ObjectModel/CGI/FormPage.pm
@@ -503,14 +503,17 @@ sub GenerateBody($)
$self->GenerateFields();
$self->GenerateRequiredLegend();
- if (defined $self->{ErrMessage})
+ my $ErrMessage = $self->GetErrMessage();
+ if (defined $ErrMessage)
{
- if (defined $self->{ErrField})
+ my $ErrField = $self->GetErrField();
+ if (defined $ErrField)
{
- my $PropertyDescriptor = $self->GetPropertyDescriptorByName($self->{ErrField});
+ my $PropertyDescriptor = $self->GetPropertyDescriptorByName($ErrField);
if ($PropertyDescriptor and !($self->DisplayProperty($PropertyDescriptor))[0])
{
- $self->{ErrMessage} = "Internal error?\n$self->{ErrMessage}";
+ # The hidden fields should not be invalid
+ $self->AddError("Internal error?\n$ErrMessage", $ErrField);
}
}
$self->GenerateErrorPopup();
@@ -573,8 +576,7 @@ sub Validate($)
my $ErrMessage = $PropertyDescriptor->ValidateValue($Value, 1);
if ($ErrMessage)
{
- $self->{ErrMessage} = $ErrMessage;
- $self->{ErrField} = $PropertyDescriptor->GetName();
+ $self->AddError($ErrMessage, $PropertyDescriptor->GetName());
return !1;
}
}
@@ -686,7 +688,7 @@ sub OnAction($$)
{
my ($self, $Action) = @_;
- $self->SetError(undef, "No action defined for $Action");
+ $self->AddError("No action defined for $Action");
return 0;
}
--
2.30.2
More information about the wine-devel
mailing list