diff --git a/lib/network/CachedImage.js b/lib/network/CachedImage.js index ad640017..fde6cb05 100644 --- a/lib/network/CachedImage.js +++ b/lib/network/CachedImage.js @@ -23,6 +23,7 @@ class CachedImage { init() { if (this.initialized()) return; + this.src = this.image.src; // For same interface with Image var w = this.image.width; var h = this.image.height; diff --git a/lib/network/modules/components/nodes/shapes/Image.js b/lib/network/modules/components/nodes/shapes/Image.js index 5905f462..04b15e84 100644 --- a/lib/network/modules/components/nodes/shapes/Image.js +++ b/lib/network/modules/components/nodes/shapes/Image.js @@ -10,6 +10,17 @@ class Image extends CircleImageBase { } resize(ctx, selected = this.selected, hover = this.hover) { + var imageAbsent = (this.imageObj.src === undefined) || + (this.imageObj.width === undefined) || + (this.imageObj.height === undefined); + + if (imageAbsent) { + var side = this.options.size * 2; + this.width = side; + this.height = side; + return; + } + if (this.needsRefresh(selected, hover)) { this._resizeImage(); } diff --git a/lib/timeline/component/ItemSet.js b/lib/timeline/component/ItemSet.js index e5e168a3..69a64153 100644 --- a/lib/timeline/component/ItemSet.js +++ b/lib/timeline/component/ItemSet.js @@ -634,9 +634,14 @@ ItemSet.prototype.redraw = function() { var visibleInterval = range.end - range.start; var zoomed = (visibleInterval != this.lastVisibleInterval) || (this.props.width != this.props.lastWidth); var scrolled = range.start != this.lastRangeStart; - var forceRestack = (zoomed || scrolled); + var changedStackOption = options.stack != this.lastStack + var changedStackSubgroupsOption = options.stackSubgroups != this.lastStackSubgroups + var forceRestack = (zoomed || scrolled || changedStackOption || changedStackSubgroupsOption); this.lastVisibleInterval = visibleInterval; this.lastRangeStart = range.start; + this.lastStack = options.stack; + this.lastStackSubgroups = options.stackSubgroups; + this.props.lastWidth = this.props.width; var firstGroup = this._firstGroup();