prevent infinite loop that can be caused by double module definitions (#975)

This commit is contained in:
Jeff Williams 2015-07-07 15:23:29 -07:00
parent f249630ff0
commit 99fb8a00d2

View File

@ -759,10 +759,17 @@ exports.getSignatureReturns = function(d, cssClass) {
exports.getAncestors = function(data, doclet) { exports.getAncestors = function(data, doclet) {
var ancestors = []; var ancestors = [];
var doc = doclet; var doc = doclet;
var previousDoc;
while (doc) { while (doc) {
previousDoc = doc;
doc = find(data, {longname: doc.memberof})[0]; doc = find(data, {longname: doc.memberof})[0];
// prevent infinite loop that can be caused by duplicated module definitions
if (previousDoc === doc) {
break;
}
if (doc) { if (doc) {
ancestors.unshift(doc); ancestors.unshift(doc);
} }