summaryrefslogtreecommitdiffstats
path: root/extensions/Push
diff options
context:
space:
mode:
authorByron Jones <bjones@mozilla.com>2013-09-09 08:23:58 +0200
committerByron Jones <bjones@mozilla.com>2013-09-09 08:23:58 +0200
commitc9cdd836907191109c99e2680efe6aa14e0e8df0 (patch)
treecc5c2c4cb30f0eaabce583d37dcc36dc45cc3cde /extensions/Push
parent619707466974c0a6fbf5de98374e38ad7d5f5937 (diff)
downloadbugzilla-c9cdd836907191109c99e2680efe6aa14e0e8df0.tar.gz
bugzilla-c9cdd836907191109c99e2680efe6aa14e0e8df0.tar.xz
Bug 912540: the push extension alters the flag_end_of_update hook's args for all extensions not just itself
Diffstat (limited to 'extensions/Push')
-rw-r--r--extensions/Push/Extension.pm6
1 files changed, 3 insertions, 3 deletions
diff --git a/extensions/Push/Extension.pm b/extensions/Push/Extension.pm
index ff7f21295..d38dcb032 100644
--- a/extensions/Push/Extension.pm
+++ b/extensions/Push/Extension.pm
@@ -223,8 +223,6 @@ sub _morph_flag_updates {
my @removed = _morph_flag_update($args->{'old_flags'});
my @added = _morph_flag_update($args->{'new_flags'});
- delete $args->{'old_flags'};
- delete $args->{'new_flags'};
my $changes = {};
foreach my $ra (@removed, @added) {
@@ -251,7 +249,8 @@ sub _morph_flag_updates {
sub _morph_flag_update {
my ($values) = @_;
my @result;
- foreach my $change (@$values) {
+ foreach my $orig_change (@$values) {
+ my $change = $orig_change; # work on a copy
$change =~ s/^[^:]+://;
my $requestee = '';
if ($change =~ s/\(([^\)]+)\)$//) {
@@ -371,6 +370,7 @@ sub flag_end_of_update {
return unless $self->_enabled;
_morph_flag_updates($args);
$self->_object_modified($args);
+ delete $args->{changes};
}
# comments in bugzilla 4.0 doesn't aren't included in the bug_end_of_* hooks,