diff --git a/addon/core/transition-data.js b/addon/core/transition-data.js index cbd24ac3..9f79cdf4 100644 --- a/addon/core/transition-data.js +++ b/addon/core/transition-data.js @@ -48,7 +48,9 @@ prototype.routeFinishedSetup = function routeFinishedSetup(route) { }; prototype._viewAdded = function _viewAdded(view, index) { - this._lastActivatedRoute.views.push(index); + if (this._lastActivatedRoute && this._lastActivatedRoute.views) { + this._lastActivatedRoute.views.push(index); + } }; export default TransitionData; diff --git a/addon/services/ember-perf.js b/addon/services/ember-perf.js index 5ff0f685..e328c666 100644 --- a/addon/services/ember-perf.js +++ b/addon/services/ember-perf.js @@ -79,10 +79,13 @@ export default Base.extend(Evented, { destRoute: transitionRoute }); transitionInfo.promise.then(() => { - this.transitionData.finish(); + }).catch(() => { + }).finally(() => { let event = this.transitionData; + scheduleOnce('afterRender', () => { this.trigger('transitionComplete', event); + this.transitionData.finish(); }); }); }, @@ -179,4 +182,4 @@ export default Base.extend(Evented, { console.groupEnd(); } }) -}); \ No newline at end of file +});