 
 		listenOnWindowSignals = ->
 			impl.window.onPointerReleased (e) ->
+				listen = false
+
 				return unless focus
 				focus = false
+				pointerUsed = false
 
 				moveMovement e
 

			scroll item, dx, dy

		item.onPointerPressed (e) ->
			focus = true

			item._impl.globalScale = getItemGlobalScale item
			horizontalContinuous.press()

				x = y = 0

			impl.window.onPointerMove (e) ->
				return unless listen

				if pointerUsed and not focus
					return

				horizontalContinuous.update e.x - x
				verticalContinuous.update e.y - y

				if focus or Math.abs(e.x - x) + Math.abs(e.y - y) > MIN_POINTER_DELTA
					if moveMovement(e) is signal.STOP_PROPAGATION
						focus = true
						pointerUsed = true

					x = e.x; y = e.y

		if impl.window?
			listenOnWindowSignals()
