diff --git a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js index f653935431dd9460cae5aa8f16b97b398e2542fa..5f9715750d91a0b253524912c4c9daf6a73c7217 100644 --- a/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/ObjectTree_entity/recordcontainers/jdito/contentProcess.js @@ -26,9 +26,10 @@ var originalObjectId = vars.get("$param.ObjectId_param"); _loadObjectRelationTree(originalObjectId, vars.get("$param.ObjectType_param"), selectedRelationType); result.object(tree); -function _loadObjectRelationTree(pObjectId, pObjectType, pObjectRelationTypeId, pNodeId, pLayer, pObjectRelationId) +function _loadObjectRelationTree(pObjectId, pObjectType, pObjectRelationTypeId, pNodeId, pLayer) { - if (pLayer > 20) + // prevent stack overflows + if (pLayer > 30) return; if (pLayer == undefined) @@ -53,7 +54,6 @@ function _loadObjectRelationTree(pObjectId, pObjectType, pObjectRelationTypeId, // use always reverse-type relationTypeData = ObjectRelationUtils.getRelationType(relationTypeData[8]); currentObjectId = _getRootID(currentObjectId, relationTypeData); - originalObjectId = currentObjectId; } let uids = _insertEntry(tree, [[currentObjectId, "", "", "", ""]], pNodeId, pLayer, pObjectType, relationTypeData) @@ -124,7 +124,7 @@ function _loadObjectRelationTree(pObjectId, pObjectType, pObjectRelationTypeId, for (let i = 0; i < uids.length; i++) { - _loadObjectRelationTree(uids[i][0], uids[i][3], pObjectRelationTypeId, uids[i], pLayer+1, uids[i][6]); + _loadObjectRelationTree(uids[i][0], uids[i][3], pObjectRelationTypeId, uids[i], pLayer+1); } } }