# HG changeset patch # User Lucas Thompson # Date 1496426971 -3600 # Node ID 6015f02ef2c62c36848ffb2ce4e4affdb4f65f14 # Parent e06b62d949de5a86d3b5d8281c9fdf031e6571e5 Cleanup animation tasks on destruction. diff -r e06b62d949de -r 6015f02ef2c6 src/app/playhead/live-play-head.component.ts --- a/src/app/playhead/live-play-head.component.ts Fri Jun 02 19:08:42 2017 +0100 +++ b/src/app/playhead/live-play-head.component.ts Fri Jun 02 19:09:31 2017 +0100 @@ -6,10 +6,13 @@ Component, Input, AfterViewInit, - ChangeDetectorRef + ChangeDetectorRef, OnDestroy } from '@angular/core'; import {TimePixelMapper} from './PlayHeadHelpers'; -import {RenderLoopService} from '../services/render-loop/render-loop.service'; +import { + RenderLoopService, + TaskRemover +} from '../services/render-loop/render-loop.service'; @Component({ selector: 'ugly-live-play-head', @@ -19,18 +22,22 @@ [colour]="colour">`, changeDetection: ChangeDetectionStrategy.OnPush }) -export class LivePlayHeadComponent implements AfterViewInit { +export class LivePlayHeadComponent implements AfterViewInit, OnDestroy { @Input() timeToPixel: TimePixelMapper; @Input() colour: string; private currentTime = 0; + private remover: TaskRemover; constructor(private renderLoop: RenderLoopService, private ref: ChangeDetectorRef) {} ngAfterViewInit(): void { - this.renderLoop.addPlayingTask((currentTime) => { + this.remover = this.renderLoop.addPlayingTask((currentTime) => { this.currentTime = currentTime; this.ref.markForCheck(); }); } + ngOnDestroy(): void { + this.remover(); + } }