Module: tools Branch: master Commit: df5a6e8c92e84ef6a2dc7a541636b9a1826281eb URL: https://source.winehq.org/git/tools.git/?a=commit;h=df5a6e8c92e84ef6a2dc7a54...
Author: Francois Gouget fgouget@codeweavers.com Date: Tue Jul 5 17:51:50 2022 +0200
testbot/cgi: Avoid direct access to the base Page error fields.
Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 6f3449b5..f2fd0f09 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; }