From 858738a10afb918bc15e2f712a31585ab9c0fe7d Mon Sep 17 00:00:00 2001 From: Eric Johnston Date: Mon, 5 Aug 2013 15:56:49 -0700 Subject: [PATCH] Root cause of crash isolated to setRaveGloveMode(), so some disabled code has been re-enabled --- libraries/avatars/src/HandData.cpp | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/libraries/avatars/src/HandData.cpp b/libraries/avatars/src/HandData.cpp index c6c5a08a14..42b18e1cb1 100644 --- a/libraries/avatars/src/HandData.cpp +++ b/libraries/avatars/src/HandData.cpp @@ -111,8 +111,6 @@ int HandData::encodeRemoteData(unsigned char* destinationBuffer) { return destinationBuffer - startPosition; } -#define DISABLE_RECEIVE // Temporary measure while a crash is being traced - int HandData::decodeRemoteData(unsigned char* sourceBuffer) { const unsigned char* startPosition = sourceBuffer; @@ -121,10 +119,8 @@ int HandData::decodeRemoteData(unsigned char* sourceBuffer) { unsigned int numHands = *sourceBuffer++; for (unsigned int handIndex = 0; handIndex < numHands; ++handIndex) { -#ifndef DISABLE_RECEIVE if (handIndex >= getNumPalms()) addNewPalm(); -#endif if (handIndex < getNumPalms()) { PalmData& palm = getPalms()[handIndex]; @@ -134,11 +130,9 @@ int HandData::decodeRemoteData(unsigned char* sourceBuffer) { sourceBuffer += unpackFloatVec3FromSignedTwoByteFixed(sourceBuffer, handNormal, fingerVectorRadix); unsigned int numFingers = *sourceBuffer++; -#ifndef DISABLE_RECEIVE palm.setRawPosition(handPosition); palm.setRawNormal(handNormal); palm.setActive(true); -#endif for (unsigned int fingerIndex = 0; fingerIndex < numFingers; ++fingerIndex) { if (fingerIndex < palm.getNumFingers()) { FingerData& finger = palm.getFingers()[fingerIndex]; @@ -148,34 +142,27 @@ int HandData::decodeRemoteData(unsigned char* sourceBuffer) { sourceBuffer += unpackFloatVec3FromSignedTwoByteFixed(sourceBuffer, tipPosition, fingerVectorRadix); sourceBuffer += unpackFloatVec3FromSignedTwoByteFixed(sourceBuffer, rootPosition, fingerVectorRadix); -#ifndef DISABLE_RECEIVE finger.setRawTipPosition(tipPosition); finger.setRawRootPosition(rootPosition); finger.setActive(true); -#endif } } // Turn off any fingers which weren't used. for (unsigned int fingerIndex = numFingers; fingerIndex < palm.getNumFingers(); ++fingerIndex) { FingerData& finger = palm.getFingers()[fingerIndex]; -#ifndef DISABLE_RECEIVE finger.setActive(false); -#endif } } } // Turn off any hands which weren't used. for (unsigned int handIndex = numHands; handIndex < getNumPalms(); ++handIndex) { PalmData& palm = getPalms()[handIndex]; -#ifndef DISABLE_RECEIVE palm.setActive(false); -#endif } -#ifndef DISABLE_RECEIVE setRaveGloveActive((gloveFlags & GLOVE_FLAG_RAVE) != 0); - setRaveGloveMode(effectsMode); -#endif +// This is disabled for crash tracing. +// setRaveGloveMode(effectsMode); // One byte for error checking safety. unsigned char requiredLength = (unsigned char)(sourceBuffer - startPosition);