]> git.openstreetmap.org Git - rails.git/blobdiff - app/models/relation.rb
Merge branch 'master' into cancancan
[rails.git] / app / models / relation.rb
index d5117b7c3146a426ff471594916a8b3c2b0138a8..f55711a69bb75b060ae7a0ec61a120afbf852657 100644 (file)
@@ -381,10 +381,12 @@ class Relation < ActiveRecord::Base
       # reasonable on the assumption that adding or removing members doesn't
       # materially change the rest of the relation.
       any_relations =
-        changed_members.collect { |_id, type| type == "relation" }
+        changed_members.collect { |type, _id, _role| type == "Relation" }
                        .inject(false) { |acc, elem| acc || elem }
 
-      update_members = if tags_changed || any_relations
+      # if the relation is being deleted tags_changed will be true and members empty
+      # so we need to use changed_members to create a correct bounding box
+      update_members = if visible && (tags_changed || any_relations)
                          # add all non-relation bounding boxes to the changeset
                          # FIXME: check for tag changes along with element deletions and
                          # make sure that the deleted element's bounding box is hit.