[BugFix] EntityList UncaughtException in that.sendUpdate (details below).

* Adds safety checks to properties.renderInfo to prevent invalid access when undefined.
    * Error trace prior to guards:
        [04/27 13:16:19] [CRITICAL] [hifi.scriptengine] [defaultScripts.js] [UncaughtException signalHandlerException] Error: Result of expression 'properties.renderInfo' [undefined] is not an object. in .../build/interface/RelWithDebInfo/scripts/system/libraries/entityList.js:93
        [04/27 13:16:19] [CRITICAL] [hifi.scriptengine] [Backtrace]
        [04/27 13:16:19] [CRITICAL] [hifi.scriptengine]     <anonymous>() at .../build/interface/RelWithDebInfo/scripts/system/libraries/entityList.js:93
        [04/27 13:16:19] [CRITICAL] [hifi.scriptengine]     <anonymous>(data = [object Object]) at .../build/interface/RelWithDebInfo/scripts/system/libraries/entityList.js:149
        [04/27 13:16:19] [CRITICAL] [hifi.scriptengine]     <global>() at -1

Changes Committed:
    modified:   scripts/system/libraries/entityList.js
This commit is contained in:
LaShonda Hopper 2018-04-27 17:23:27 -04:00
parent e4f5eb9cca
commit 79278f5add

View file

@ -90,12 +90,17 @@ EntityListTool = function(opts) {
url: url, url: url,
locked: properties.locked, locked: properties.locked,
visible: properties.visible, visible: properties.visible,
verticesCount: valueIfDefined(properties.renderInfo.verticesCount), verticesCount: (properties.renderInfo !== undefined ?
texturesCount: valueIfDefined(properties.renderInfo.texturesCount), valueIfDefined(properties.renderInfo.verticesCount) : ""),
texturesSize: valueIfDefined(properties.renderInfo.texturesSize), texturesCount: (properties.renderInfo !== undefined ?
hasTransparent: valueIfDefined(properties.renderInfo.hasTransparent), valueIfDefined(properties.renderInfo.texturesCount) : ""),
texturesSize: (properties.renderInfo !== undefined ?
valueIfDefined(properties.renderInfo.texturesSize) : ""),
hasTransparent: (properties.renderInfo !== undefined ?
valueIfDefined(properties.renderInfo.hasTransparent) : ""),
isBaked: properties.type == "Model" ? url.toLowerCase().endsWith(".baked.fbx") : false, isBaked: properties.type == "Model" ? url.toLowerCase().endsWith(".baked.fbx") : false,
drawCalls: valueIfDefined(properties.renderInfo.drawCalls), drawCalls: (properties.renderInfo !== undefined ?
valueIfDefined(properties.renderInfo.drawCalls) : ""),
hasScript: properties.script !== "" hasScript: properties.script !== ""
}); });
} }