From eb21b9c5d778675bbc431f1377d2b03ff7bf9072 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Mon, 2 May 2016 17:18:57 -0700 Subject: [PATCH 1/2] OSX warnings --- libraries/avatars/src/AvatarData.cpp | 1 - libraries/gl/src/gl/OglplusHelpers.cpp | 6 +++--- libraries/gl/src/gl/OglplusHelpers.h | 6 ++++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 290aaff820..7db55d50e0 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -45,7 +45,6 @@ const glm::vec3 DEFAULT_LOCAL_AABOX_CORNER(-0.5f); const glm::vec3 DEFAULT_LOCAL_AABOX_SCALE(1.0f); const QString AvatarData::FRAME_NAME = "com.highfidelity.recording.AvatarData"; -static std::once_flag frameTypeRegistration; AvatarData::AvatarData() : SpatiallyNestable(NestableType::Avatar, QUuid()), diff --git a/libraries/gl/src/gl/OglplusHelpers.cpp b/libraries/gl/src/gl/OglplusHelpers.cpp index 220ea86646..5bf0298593 100644 --- a/libraries/gl/src/gl/OglplusHelpers.cpp +++ b/libraries/gl/src/gl/OglplusHelpers.cpp @@ -334,7 +334,7 @@ public: /// Returns the instructions for rendering of faces DrawingInstructions Instructions(PrimitiveType primitive) const { - DrawingInstructions instr = this->MakeInstructions(); + DrawingInstructions instr = MakeInstructions(); DrawOperation operation; operation.method = DrawOperation::Method::DrawElements; operation.mode = primitive; @@ -342,8 +342,8 @@ public: operation.count = _prim_count * 3; operation.restart_index = DrawOperation::NoRestartIndex(); operation.phase = 0; - this->AddInstruction(instr, operation); - return std::move(instr); + AddInstruction(instr, operation); + return instr; } /// Returns the instructions for rendering of faces diff --git a/libraries/gl/src/gl/OglplusHelpers.h b/libraries/gl/src/gl/OglplusHelpers.h index b599e8270d..afb06069b8 100644 --- a/libraries/gl/src/gl/OglplusHelpers.h +++ b/libraries/gl/src/gl/OglplusHelpers.h @@ -28,7 +28,11 @@ #ifdef _WIN32 #pragma warning(push) #pragma warning( disable : 4068 ) +#elif defined(Q_OS_MAC) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wpessimizing-move" #endif + #include #include @@ -40,6 +44,8 @@ #ifdef _WIN32 #pragma warning(pop) +#elif defined(Q_OS_MAC) +#pragma clang diagnostic pop #endif #include "NumericalConstants.h" From 9e53055d439f9336b976182641f1b23d982d9bc5 Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Tue, 3 May 2016 15:48:50 -0700 Subject: [PATCH 2/2] parentID and parentJointIndex are now protected by simulation ownership --- libraries/entities/src/EntityItem.cpp | 9 +++++++-- libraries/entities/src/EntityItemProperties.cpp | 2 +- libraries/entities/src/EntityTree.cpp | 10 ++++++++++ 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index dc017f81e6..7bdd88ae5a 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -705,8 +705,13 @@ int EntityItem::readEntityDataFromBuffer(const unsigned char* data, int bytesLef READ_ENTITY_PROPERTY(PROP_DESCRIPTION, QString, setDescription); READ_ENTITY_PROPERTY(PROP_ACTION_DATA, QByteArray, setActionData); - READ_ENTITY_PROPERTY(PROP_PARENT_ID, QUuid, setParentID); - READ_ENTITY_PROPERTY(PROP_PARENT_JOINT_INDEX, quint16, setParentJointIndex); + { // parentID and parentJointIndex are also protected by simulation ownership + bool oldOverwrite = overwriteLocalData; + overwriteLocalData = overwriteLocalData && !weOwnSimulation; + READ_ENTITY_PROPERTY(PROP_PARENT_ID, QUuid, setParentID); + READ_ENTITY_PROPERTY(PROP_PARENT_JOINT_INDEX, quint16, setParentJointIndex); + overwriteLocalData = oldOverwrite; + } READ_ENTITY_PROPERTY(PROP_QUERY_AA_CUBE, AACube, setQueryAACube); diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp index 92849d6e2f..738e8910fe 100644 --- a/libraries/entities/src/EntityItemProperties.cpp +++ b/libraries/entities/src/EntityItemProperties.cpp @@ -1615,7 +1615,7 @@ void EntityItemProperties::setSimulationOwner(const QByteArray& data) { QList EntityItemProperties::listChangedProperties() { QList out; if (containsPositionChange()) { - out += "posistion"; + out += "position"; } if (dimensionsChanged()) { out += "dimensions"; diff --git a/libraries/entities/src/EntityTree.cpp b/libraries/entities/src/EntityTree.cpp index b4f0c484d5..27655e2a98 100644 --- a/libraries/entities/src/EntityTree.cpp +++ b/libraries/entities/src/EntityTree.cpp @@ -213,6 +213,8 @@ bool EntityTree::updateEntityWithElement(EntityItemPointer entity, const EntityI properties.setVelocityChanged(false); properties.setAngularVelocityChanged(false); properties.setAccelerationChanged(false); + properties.setParentID(false); + properties.setParentJointIndex(false); if (wantTerseEditLogging()) { qCDebug(entities) << (senderNode ? senderNode->getUUID() : "null") << "physical edits suppressed"; @@ -848,6 +850,14 @@ void EntityTree::fixupTerseEditLogging(EntityItemProperties& properties, QList