 					# no need to set scale when initialising, done in pdfSrc
 					return if newVal == oldVal
 					# console.log 'XXX calling Setscale in scale watch'
-					doRescale newVal
+					queueRescale newVal
 
 				scope.$watch 'forceScale', (newVal, oldVal) ->
 					# console.log 'got change in numscale watcher', newVal, oldVal
 					return unless newVal?
-					doRescale newVal
+					queueRescale newVal
 
 #				scope.$watch 'position', (newVal, oldVal) ->
 #					console.log 'got change in position watcher', newVal, oldVal

						]
						console.log 'resolving layoutReady with', scope.parentSize
						$timeout () ->
							spinner.add(element)
							layoutReady.resolve scope.parentSize
							scope.$emit 'flash-controls'

				updateLayout()

				scope.$on 'layout:main:resize', () ->
					console.log 'GOT LAYOUT-MAIN-RESIZE EVENT'
					updateLayout()

				scope.$on 'layout:pdf:resize', () ->
					# FIXME we get this event twice
					# also we need to start a new layout when we get it
					console.log 'GOT LAYOUT-PDF-RESIZE EVENT'
					updateLayout()

				scope.$on 'pdf:error', (event, error) ->
					return if error == 'cancelled'

					# console.log 'forceCheck', newVal, oldVal
					return unless newVal?
					scope.adjustingScroll = true  # temporarily disable scroll
					queueRescale scope.scale

				scope.$watch('parentSize', (newVal, oldVal) ->
					# console.log 'XXX in parentSize watch', newVal, oldVal
