From 7305b6c9cd4c50d582b08917613ef9479e93e151 Mon Sep 17 00:00:00 2001 From: Max Franz Date: Mon, 22 Oct 2018 16:48:52 -0400 Subject: [PATCH] The rules to ignore parent nodes or edges in the element texture caches should be checked before the `lookup.get()` call. --- .../renderer/canvas/ele-texture-cache.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/extensions/renderer/canvas/ele-texture-cache.js b/src/extensions/renderer/canvas/ele-texture-cache.js index 835a0f034..2390cc116 100644 --- a/src/extensions/renderer/canvas/ele-texture-cache.js +++ b/src/extensions/renderer/canvas/ele-texture-cache.js @@ -104,6 +104,13 @@ ETCp.getElement = function( ele, bb, pxRatio, lvl, reason ){ if( bb.w === 0 || bb.h === 0 || !ele.visible() ){ return null; } + if( + ( !self.allowEdgeTxrCaching && ele.isEdge() ) + || ( !self.allowParentTxrCaching && ele.isParent() ) + ){ + return null; + } + if( lvl == null ){ lvl = Math.ceil( math.log2( zoom * pxRatio ) ); } @@ -143,12 +150,7 @@ ETCp.getElement = function( ele, bb, pxRatio, lvl, reason ){ txrH = Math.ceil( eleScaledH / txrStepH ) * txrStepH; } - if( - eleScaledH > maxTxrH - || eleScaledW > maxTxrW - || ( !self.allowEdgeTxrCaching && ele.isEdge() ) - || ( !self.allowParentTxrCaching && ele.isParent() ) - ){ + if( eleScaledH > maxTxrH || eleScaledW > maxTxrW ){ return null; // caching large elements is not efficient }