Prevent SystemStackError on Issue#all_dependent_issues with mutiple circular dependencies (#7320).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5104 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2011-03-13 13:00:55 +00:00
parent 72d6b2c8df
commit 9375f1c3a4
2 changed files with 15 additions and 3 deletions
+3 -3
View File
@@ -455,11 +455,11 @@ class Issue < ActiveRecord::Base
(relations_from + relations_to).sort
end
def all_dependent_issues(except=nil)
except ||= self
def all_dependent_issues(except=[])
except << self
dependencies = []
relations_from.each do |relation|
if relation.issue_to && relation.issue_to != except
if relation.issue_to && !except.include?(relation.issue_to)
dependencies << relation.issue_to
dependencies += relation.issue_to.all_dependent_issues(except)
end