diff --git a/libraries/entities/src/EntityItemProperties.cpp b/libraries/entities/src/EntityItemProperties.cpp index 7ad2f22144..cfe9bda1c0 100644 --- a/libraries/entities/src/EntityItemProperties.cpp +++ b/libraries/entities/src/EntityItemProperties.cpp @@ -228,11 +228,21 @@ const std::array COMPONENT_MODES = { { } }; QString EntityItemProperties::getHazeModeAsString() const { - return COMPONENT_MODES[_hazeMode].second; + // return "inherit" if _hazeMode is not valid + if (_hazeMode >= 0 && _hazeMode < COMPONENT_MODE_ITEM_COUNT) { + return COMPONENT_MODES[_hazeMode].second; + } else { + return COMPONENT_MODES[0].second; + } } QString EntityItemProperties::getHazeModeString(uint32_t mode) { - return COMPONENT_MODES[mode].second; + // return "inherit" if mode is not valid + if (mode >= 0 && mode < COMPONENT_MODE_ITEM_COUNT) { + return COMPONENT_MODES[mode].second; + } else { + return COMPONENT_MODES[0].second; + } } void EntityItemProperties::setHazeModeFromString(const QString& hazeMode) { diff --git a/libraries/entities/src/ZoneEntityItem.cpp b/libraries/entities/src/ZoneEntityItem.cpp index 077024c3ab..540a31f6c4 100644 --- a/libraries/entities/src/ZoneEntityItem.cpp +++ b/libraries/entities/src/ZoneEntityItem.cpp @@ -44,6 +44,7 @@ ZoneEntityItem::ZoneEntityItem(const EntityItemID& entityItemID) : EntityItem(en _compoundShapeURL = DEFAULT_COMPOUND_SHAPE_URL; _backgroundMode = BACKGROUND_MODE_INHERIT; + _hazeMode = (uint32_t)COMPONENT_MODE_INHERIT; } EntityItemProperties ZoneEntityItem::getProperties(EntityPropertyFlags desiredProperties) const { @@ -320,8 +321,15 @@ void ZoneEntityItem::resetRenderingPropertiesChanged() { }); } +#pragma optimize("", off) void ZoneEntityItem::setHazeMode(const uint32_t value) { - _hazeMode = value; + if (_hazeMode >= 0 && _hazeMode < COMPONENT_MODE_ITEM_COUNT) { + _hazeMode = value; + } + else { + _hazeMode = 0; + } + _hazePropertiesChanged = true; } diff --git a/libraries/entities/src/ZoneEntityItem.h b/libraries/entities/src/ZoneEntityItem.h index 066bd5518f..877ca1303c 100644 --- a/libraries/entities/src/ZoneEntityItem.h +++ b/libraries/entities/src/ZoneEntityItem.h @@ -146,7 +146,7 @@ protected: BackgroundMode _backgroundMode = BACKGROUND_MODE_INHERIT; - uint8_t _hazeMode{ (uint8_t)COMPONENT_MODE_INHERIT }; + uint32_t _hazeMode{ (uint32_t)COMPONENT_MODE_INHERIT }; float _hazeRange{ HazePropertyGroup::DEFAULT_HAZE_RANGE }; xColor _hazeColor{ HazePropertyGroup::DEFAULT_HAZE_COLOR };