From e4deb598922ecfd3f0eede302efd7f1be5c34966 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Thu, 4 Sep 2014 15:00:52 -0700 Subject: [PATCH 1/2] fix sphere colors --- examples/editModels.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/editModels.js b/examples/editModels.js index fc9c8617ef..9f73b30682 100644 --- a/examples/editModels.js +++ b/examples/editModels.js @@ -2862,7 +2862,7 @@ function handeMenuEvent(menuItem) { properties.gravity.z = array[index++].value; properties.lifetime = array[index++].value; // give ourselves that many more seconds - if (properties.type == "Box") { + if (properties.type == "Box" || properties.type == "Sphere") { properties.color.red = array[index++].value; properties.color.green = array[index++].value; properties.color.blue = array[index++].value; From 931e5fa4087906b24855bd1d4943932529c501d1 Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Thu, 4 Sep 2014 15:43:51 -0700 Subject: [PATCH 2/2] fix potential static memory corruption --- libraries/entities/src/EntityItemID.h | 2 -- libraries/entities/src/EntityTypes.cpp | 9 ++++++--- libraries/entities/src/EntityTypes.h | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/libraries/entities/src/EntityItemID.h b/libraries/entities/src/EntityItemID.h index 61df01aaf6..7a3f822c7c 100644 --- a/libraries/entities/src/EntityItemID.h +++ b/libraries/entities/src/EntityItemID.h @@ -50,8 +50,6 @@ public: EntityItemID convertToCreatorTokenVersion() const; // these methods allow you to create models, and later edit them. - //static uint32_t getIDfromCreatorTokenID(uint32_t creatorTokenID); - static EntityItemID getIDfromCreatorTokenID(uint32_t creatorTokenID); static uint32_t getNextCreatorTokenID(); static void handleAddEntityResponse(const QByteArray& packet); diff --git a/libraries/entities/src/EntityTypes.cpp b/libraries/entities/src/EntityTypes.cpp index b89ff66eed..51890ad7d6 100644 --- a/libraries/entities/src/EntityTypes.cpp +++ b/libraries/entities/src/EntityTypes.cpp @@ -24,7 +24,7 @@ QMap EntityTypes::_typeToNameMap; QMap EntityTypes::_nameToTypeMap; -EntityTypeFactory EntityTypes::_factories[EntityTypes::LAST]; +EntityTypeFactory EntityTypes::_factories[EntityTypes::LAST + 1]; bool EntityTypes::_factoriesInitialized = false; const QString ENTITY_TYPE_NAME_UNKNOWN = "Unknown"; @@ -58,8 +58,11 @@ bool EntityTypes::registerEntityType(EntityType entityType, const char* name, En memset(&_factories,0,sizeof(_factories)); _factoriesInitialized = true; } - _factories[entityType] = factoryMethod; - return true; + if (entityType >= 0 && entityType <= LAST) { + _factories[entityType] = factoryMethod; + return true; + } + return false; } EntityItem* EntityTypes::constructEntityItem(EntityType entityType, const EntityItemID& entityID, const EntityItemProperties& properties) { diff --git a/libraries/entities/src/EntityTypes.h b/libraries/entities/src/EntityTypes.h index 541aeada4f..f6e78275d3 100644 --- a/libraries/entities/src/EntityTypes.h +++ b/libraries/entities/src/EntityTypes.h @@ -45,7 +45,7 @@ public: private: static QMap _typeToNameMap; static QMap _nameToTypeMap; - static EntityTypeFactory _factories[LAST]; + static EntityTypeFactory _factories[LAST + 1]; static bool _factoriesInitialized; };