diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 17c5d6c259..264d8ac580 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -649,11 +649,15 @@ void AvatarData::startPlaying() { } void AvatarData::setPlayFromCurrentLocation(bool playFromCurrentLocation) { - _player->setPlayFromCurrentLocation(playFromCurrentLocation); + if (_player) { + _player->setPlayFromCurrentLocation(playFromCurrentLocation); + } } void AvatarData::setPlayerLoop(bool loop) { - _player->setLoop(loop); + if (_player) { + _player->setLoop(loop); + } } void AvatarData::play() { diff --git a/libraries/script-engine/src/ScriptEngine.cpp b/libraries/script-engine/src/ScriptEngine.cpp index 2891055b65..a042cd6953 100644 --- a/libraries/script-engine/src/ScriptEngine.cpp +++ b/libraries/script-engine/src/ScriptEngine.cpp @@ -186,6 +186,13 @@ void ScriptEngine::setIsAvatar(bool isAvatar) { _avatarIdentityTimer->start(AVATAR_IDENTITY_PACKET_SEND_INTERVAL_MSECS); _avatarBillboardTimer->start(AVATAR_BILLBOARD_PACKET_SEND_INTERVAL_MSECS); } + + if (!_isAvatar) { + delete _avatarIdentityTimer; + _avatarIdentityTimer = NULL; + delete _avatarBillboardTimer; + _avatarBillboardTimer = NULL; + } } void ScriptEngine::setAvatarData(AvatarData* avatarData, const QString& objectName) {