History

Adding possible solution to issue#1934.

Wayne Chen committed 8 years ago

Commit bd6905b1 parent 986318c4 files · +85 −38Browse files

Showing the changes to libraries/entities/src/EntityScriptingInterface.cpp (1 of 4 files). Show all

Unified · Split

libraries/entities/src/EntityScriptingInterface.cpp+21−7
@@ -1660,14 +1660,28 @@ QVector<QUuid> EntityScriptingInterface::getChildrenIDs(const QUuid& parentID) { · 1659 unmodified lines
16601660 return result;
16611661 }
16621662
1663− EntityItemPointer entity = _entityTree->findEntityByEntityItemID(parentID);
1664− if (!entity) {
1665− qCDebug(entities) << "EntityScriptingInterface::getChildrenIDs - no entity with ID" << parentID;
1666− return result;
1667− }
1668−
1663+ //EntityItemPointer entity = _entityTree->findEntityByEntityItemID(parentID);
1664+ //if (!entity) {
1665+ // qCDebug(entities) << "EntityScriptingInterface::getChildrenIDs - no entity with ID" << parentID;
1666+ // return result;
1667+ //}
16691668 _entityTree->withReadLock([&] {
1670− entity->forEachChild([&](SpatiallyNestablePointer child) {
1669+ QSharedPointer<SpatialParentFinder> parentFinder = DependencyManager::get<SpatialParentFinder>();
1670+ if (!parentFinder) {
1671+ return;
1672+ }
1673+ bool success;
1674+ SpatiallyNestableWeakPointer parentWP = parentFinder->find(parentID, success);
1675+ if (!success) {
1676+ return;
1677+ }
1678+ SpatiallyNestablePointer parent = parentWP.lock();
1679+ if (!parent) {
1680+ return;
1681+ }
1682+ //_entityTree->withReadLock([&] {
1683+ //entity->forEachChild([&](SpatiallyNestablePointer child) {
1684+ parent->forEachChild([&](SpatiallyNestablePointer child) {
16711685 result.push_back(child->getID());
16721686 });
16731687 });