]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 345359: Prevent Flag::clear from deleting a deleted flag when checking the inclus...
authorlpsolit%gmail.com <>
Tue, 25 Jul 2006 07:08:10 +0000 (07:08 +0000)
committerlpsolit%gmail.com <>
Tue, 25 Jul 2006 07:08:10 +0000 (07:08 +0000)
Bugzilla/Flag.pm
editflagtypes.cgi

index 6fb5e19d1d2c1edc51eeaf370aaf4748dc5cd39e..25541d06bf9a4764bbec71a9b581800d562ddf02 100644 (file)
@@ -448,7 +448,7 @@ sub process {
     # In case the bug's product/component has changed, clear flags that are
     # no longer valid.
     my $flag_ids = $dbh->selectcol_arrayref(
-        "SELECT flags.id 
+        "SELECT DISTINCT flags.id
            FROM flags
      INNER JOIN bugs
              ON flags.bug_id = bugs.bug_id
@@ -463,7 +463,7 @@ sub process {
     foreach my $flag_id (@$flag_ids) { clear($flag_id, $bug, $attachment) }
 
     $flag_ids = $dbh->selectcol_arrayref(
-        "SELECT flags.id 
+        "SELECT DISTINCT flags.id
         FROM flags, bugs, flagexclusions e
         WHERE bugs.bug_id = ?
         AND flags.bug_id = bugs.bug_id
index 79bf0dd7205d75a8f56d238cdd96b63586a51e63..1ca6bd94d48b5e9fa634c3bf661ee141e541bd3c 100755 (executable)
@@ -388,7 +388,8 @@ sub update {
 
     # Clear existing flags for bugs/attachments in categories no longer on 
     # the list of inclusions or that have been added to the list of exclusions.
-    my $flags =    $dbh->selectall_arrayref('SELECT flags.id, flags.bug_id, flags.attach_id
+    my $flags =    $dbh->selectall_arrayref('SELECT DISTINCT flags.id, flags.bug_id,
+                                                             flags.attach_id
                                                FROM flags
                                          INNER JOIN bugs
                                                  ON flags.bug_id = bugs.bug_id
@@ -408,7 +409,7 @@ sub update {
         Bugzilla::Flag::clear($flag_id, $bug, $attachment);
     }
 
-    $flags =    $dbh->selectall_arrayref('SELECT flags.id, flags.bug_id, flags.attach_id
+    $flags =    $dbh->selectall_arrayref('SELECT DISTINCT flags.id, flags.bug_id, flags.attach_id
                                             FROM flags
                                       INNER JOIN bugs 
                                               ON flags.bug_id = bugs.bug_id