From 73454b06a234488bb1bf962ab5e869ad2cd7a6cd Mon Sep 17 00:00:00 2001 From: luiscuenca Date: Wed, 1 May 2019 08:57:09 -0700 Subject: [PATCH] Fix crash accessing _modelJointIndicesCache --- .../src/avatars-renderer/Avatar.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp index 204ed79660..73e623223e 100644 --- a/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp +++ b/libraries/avatars-renderer/src/avatars-renderer/Avatar.cpp @@ -1428,7 +1428,7 @@ int Avatar::getJointIndex(const QString& name) const { withValidJointIndicesCache([&]() { if (_modelJointIndicesCache.contains(name)) { - result = _modelJointIndicesCache[name] - 1; + result = _modelJointIndicesCache.value(name) - 1; } }); return result; @@ -1439,22 +1439,22 @@ QStringList Avatar::getJointNames() const { withValidJointIndicesCache([&]() { // find out how large the vector needs to be int maxJointIndex = -1; - QHashIterator k(_modelJointIndicesCache); - while (k.hasNext()) { - k.next(); + QHash::const_iterator k = _modelJointIndicesCache.constBegin(); + while (k != _modelJointIndicesCache.constEnd()) { int index = k.value(); if (index > maxJointIndex) { maxJointIndex = index; } + ++k; } // iterate through the hash and put joint names // into the vector at their indices QVector resultVector(maxJointIndex+1); - QHashIterator i(_modelJointIndicesCache); - while (i.hasNext()) { - i.next(); + QHash::const_iterator i = _modelJointIndicesCache.constBegin(); + while (i != _modelJointIndicesCache.constEnd()) { int index = i.value(); resultVector[index] = i.key(); + ++i; } // convert to QList and drop out blanks result = resultVector.toList();