diff --git a/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee b/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee index 31880b83ca..75aeca4dc3 100644 --- a/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee +++ b/services/web/public/coffee/ide/pdfng/directives/pdfRenderer.coffee @@ -91,7 +91,8 @@ define [ @resetState() triggerRenderQueue: (interval = @JOB_QUEUE_INTERVAL) -> - $timeout () => + @queueTimer = setTimeout () => + @queueTimer = null @processRenderQueue() , interval @@ -134,7 +135,7 @@ define [ @jobs = @jobs + 1 element.canvas.addClass('pdfng-loading') - spinTimer = $timeout () => + spinTimer = setTimeout () => @spinner.add(element.canvas) , 100 @@ -147,7 +148,7 @@ define [ Raven.captureMessage?('pdfng page load timed out after ' + @PAGE_LOAD_TIMEOUT + 'ms') # console.log 'page load timed out', pagenum timedOut = true - $timeout.cancel(spinTimer) + clearTimeout(spinTimer) @spinner.stop(element.canvas) # @jobs = @jobs - 1 # @triggerRenderQueue(0) @@ -159,7 +160,7 @@ define [ @pageLoad[pagenum].then (pageObject) => # console.log 'in page load success', pagenum $timeout.cancel(timer) - $timeout.cancel(spinTimer) + clearTimeout(spinTimer) @renderTask[pagenum] = @doRender element, pagenum, pageObject @renderTask[pagenum].then () => # complete @@ -173,7 +174,7 @@ define [ .catch (error) -> # console.log 'in page load error', pagenum, 'timedOut=', timedOut $timeout.cancel(timer) - $timeout.cancel(spinTimer) + clearTimeout(spinTimer) # console.log 'ERROR', error doRender: (element, pagenum, page) -> @@ -278,6 +279,7 @@ define [ destroy: () -> # console.log 'in pdf renderer destroy', @renderQueue @shuttingDown = true + clearTimeout @queueTimer if @queueTimer? @renderQueue = [] for task in @renderTask task.cancel() if task?