diff --git a/mozilla/webtools/bugzilla/Bugzilla/Flag.pm b/mozilla/webtools/bugzilla/Bugzilla/Flag.pm index 0aca49c87c0..29215876ab0 100644 --- a/mozilla/webtools/bugzilla/Bugzilla/Flag.pm +++ b/mozilla/webtools/bugzilla/Bugzilla/Flag.pm @@ -280,7 +280,10 @@ sub validate { && trim($cgi->param("requestee-$id"))) { my $requestee_email = trim($cgi->param("requestee-$id")); - if ($requestee_email ne $flag->{'requestee'}->{'email'}) { + my $old_requestee = + $flag->{'requestee'} ? $flag->{'requestee'}->login : ''; + + if ($old_requestee ne $requestee_email) { # We know the requestee exists because we ran # Bugzilla::User::match_field before getting here. my $requestee = Bugzilla::User->new_from_login($requestee_email); @@ -551,7 +554,7 @@ sub modify { my $flag = get($id); my $status = $cgi->param("flag-$id"); - my $requestee_email = trim($cgi->param("requestee-$id")); + my $requestee_email = trim($cgi->param("requestee-$id") || ''); # Ignore flags the user didn't change. There are two components here: diff --git a/mozilla/webtools/bugzilla/userprefs.cgi b/mozilla/webtools/bugzilla/userprefs.cgi index 92e110f3b2e..9c2135eb372 100755 --- a/mozilla/webtools/bugzilla/userprefs.cgi +++ b/mozilla/webtools/bugzilla/userprefs.cgi @@ -232,7 +232,9 @@ sub SaveEmail { foreach my $rel (RELATIONSHIPS) { # Positive events: a ticked box means "send me mail." foreach my $event (POS_EVENTS) { - if (1 == $cgi->param("email-$rel-$event")) { + if (defined($cgi->param("email-$rel-$event")) + && $cgi->param("email-$rel-$event") == 1) + { $dbh->do("INSERT INTO email_setting " . "(user_id, relationship, event) " . "VALUES ($userid, $rel, $event)");