 						itemsToMove.push item
 					if event._stopPropagation
 						return STOP_PROPAGATION
-				return getEventStatus()
+					return getEventStatus()
+				0
 
 			(e) ->
 				event._checkSiblings = false

		# support press event
		Device.onPointerPress do ->
			onItem = (item) ->
				event._ensureRelease = event._ensureMove = event._stopPropagation = true
				if item._impl.capturePointer & PRESS
					emitSignal item.pointer, 'onPress', event
					pressedItems.push item
					if event._ensureRelease

		Device.onPointerRelease do ->
			onItem = (item) ->
				data = item._impl
				{capturePointer} = data
				if capturePointer & RELEASE
					emitSignal item._pointer, 'onRelease', event
				if capturePointer & PRESS
					index = itemsToRelease.indexOf item
					if index >= 0
						itemsToRelease[index] = null
				if capturePointer & CLICK
					if utils.has(pressedItems, item)
						emitSignal item.pointer, 'onClick', event
				if capturePointer & (RELEASE | CLICK)
					if event._stopPropagation
						return STOP_PROPAGATION
					return getEventStatus()
				0

			(e) ->
				event._stopPropagation = false
				event._checkSiblings = false

				captureItems RELEASE | CLICK, impl.window, e._x, e._y, onItem

				unless event._stopPropagation
					for item in itemsToRelease by -1
