From 79278f5add3e881af1e4d3811b7c85d6c84f741b Mon Sep 17 00:00:00 2001 From: LaShonda Hopper Date: Fri, 27 Apr 2018 17:23:27 -0400 Subject: [PATCH] [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] () at .../build/interface/RelWithDebInfo/scripts/system/libraries/entityList.js:93 [04/27 13:16:19] [CRITICAL] [hifi.scriptengine] (data = [object Object]) at .../build/interface/RelWithDebInfo/scripts/system/libraries/entityList.js:149 [04/27 13:16:19] [CRITICAL] [hifi.scriptengine] () at -1 Changes Committed: modified: scripts/system/libraries/entityList.js --- scripts/system/libraries/entityList.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/scripts/system/libraries/entityList.js b/scripts/system/libraries/entityList.js index d53766ab4e..8cd8decbef 100644 --- a/scripts/system/libraries/entityList.js +++ b/scripts/system/libraries/entityList.js @@ -90,12 +90,17 @@ EntityListTool = function(opts) { url: url, locked: properties.locked, visible: properties.visible, - verticesCount: valueIfDefined(properties.renderInfo.verticesCount), - texturesCount: valueIfDefined(properties.renderInfo.texturesCount), - texturesSize: valueIfDefined(properties.renderInfo.texturesSize), - hasTransparent: valueIfDefined(properties.renderInfo.hasTransparent), + verticesCount: (properties.renderInfo !== undefined ? + valueIfDefined(properties.renderInfo.verticesCount) : ""), + texturesCount: (properties.renderInfo !== undefined ? + 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, - drawCalls: valueIfDefined(properties.renderInfo.drawCalls), + drawCalls: (properties.renderInfo !== undefined ? + valueIfDefined(properties.renderInfo.drawCalls) : ""), hasScript: properties.script !== "" }); }