Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

touchendoutside events only gets dispatched for the first release. #2662

Closed
karmacon opened this issue Jun 20, 2016 · 4 comments
Closed

touchendoutside events only gets dispatched for the first release. #2662

karmacon opened this issue Jun 20, 2016 · 4 comments
Labels
📢 Accepting PRs Would welcome a PR from the community. 🕷 Bug Verified that it’s actually a legit bug that exists in the current release. 💾 v4.x (Legacy) Legacy version 4 support

Comments

@karmacon
Copy link
Contributor

In a multitouch application, when you touch an object with two fingers, and then drag off and release both fingers, the 'touchendoutside' event is only dispatched once.

http://stackoverflow.com/questions/37882401/pixijs-not-all-touchend-events-triggering-outside-of-displayobject?noredirect=1#comment63288886_37882401

karmacon added a commit to karmacon/pixi.js that referenced this issue Jun 20, 2016
Added a touch counter instead of flag to ensure the correct touch count
@GoodBoyDigital GoodBoyDigital added 🕷 Bug Verified that it’s actually a legit bug that exists in the current release. Interaction Manager labels Aug 10, 2016
@englercj englercj added Priority: Medium 💾 v4.x (Legacy) Legacy version 4 support 📢 Accepting PRs Would welcome a PR from the community. labels Sep 29, 2016
@englercj
Copy link
Member

Looks like you made a commit that fixed it for you. Can you retest this with the latest dev build and see if that has fixed your issue?

You can see how to download the latest build in the FAQs.

If it hasn't would you mind sending your fix as a PR?

Thanks!

starakaj added a commit to starakaj/pixi.js that referenced this issue Oct 25, 2016
starakaj added a commit to starakaj/pixi.js that referenced this issue Oct 25, 2016
starakaj added a commit to starakaj/pixi.js that referenced this issue Oct 25, 2016
@starakaj
Copy link
Contributor

Had this same issue, can confirm that this change fixes it. I tried making a pull request as well, thanks!

starakaj added a commit to starakaj/pixi.js that referenced this issue Oct 25, 2016
…moved an extraneous line in InteractionManager.js
starakaj added a commit to starakaj/pixi.js that referenced this issue Nov 17, 2016
starakaj added a commit to starakaj/pixi.js that referenced this issue Nov 17, 2016
starakaj added a commit to starakaj/pixi.js that referenced this issue Nov 17, 2016
…moved an extraneous line in InteractionManager.js
starakaj added a commit to starakaj/pixi.js that referenced this issue Nov 17, 2016
* 'dev' of github.com:starakaj/pixi.js:
  Removed an unnecessary check for _touchCount === undefined, since the mixin for interactiveTarget will always set this
  See pixijs#2662 --- Added _touchCount to interactiveTarget.js, and removed an extraneous line in InteractionManager.js
  See pixijs#2662 --- bending to the will of eslint
  Fix issue pixijs#2662 Added a touch counter instead of flag to ensure the correct touch count
bigtimebuddy pushed a commit that referenced this issue Jan 4, 2017
* Fix issue #2662 Added a touch counter instead of flag to ensure the correct touch count

* See #2662 --- bending to the will of eslint

* See #2662 --- Added _touchCount to interactiveTarget.js, and removed an extraneous line in InteractionManager.js

* Removed an unnecessary check for _touchCount === undefined, since the mixin for interactiveTarget will always set this

* Fix issue #2662 Added a touch counter instead of flag to ensure the correct touch count

* See #2662 --- bending to the will of eslint

* See #2662 --- Added _touchCount to interactiveTarget.js, and removed an extraneous line in InteractionManager.js

* Removed an unnecessary check for _touchCount === undefined, since the mixin for interactiveTarget will always set this

* Adding cancel events to interaction manager

* Refactoring InteractionManager to normalize all events to PointerEvents. Also updated InteractiveTarget to handle multiple touch or pointer events by recording pointerId for all tracked events, rather than just counting events. Finally, InteractionManager now updates on all tracked events, rather than just mouse events, so it should send move events when UI objects move underneath any held event, not just the mouse

* Typo: mouse is not a function

* InteractionManager normalizeToPointerData now returns an array of normalized events for TouchEvents with multiple changedtouches

* Typo: no such thing as onPointerStart

* Fixing some more typos: trying to read the pointerId of un-normalized events

* Typos: un-normalized events don't have a pointerType

* Added identifier property to InteractionData, and got rid of some typos---trying to read pointerId from un-normalized events

* Forgot to bind onPointerCancel

* Refactoring interactiveTarget.js a bit, so that over, left down and right down are pointer properties, not mouse properties.

* Forgot an export default

* Changed the mixin pattern for Pixi.interaction.interactiveTarget, so that this is bound correctly, so that DisplayObjects can each get a unique object for tracking pointers

* Fixed some typos, moved interactiveTarget back to being an object, and released InteractionData after touch up/cancelled events

* Small fixed

* Safari compatibility

* hasOwnProperty fix

* Safer to use a string for mouse pointer than a number

* InteractionManager should now handle native DOM pointer events with pointerType mouse or touch by emitting mouse and touch events, respectively

* InteractionManager test now respects the refactored spec for InteractionManager

* Pointer events exclusive

* String.startsWith is not available in all browsers esp. older version of Safari. As it's just used in one place we can use a RegExp here too

* Moving from regex, slightly faster
andrewstart pushed a commit that referenced this issue Jan 27, 2017
* Fix issue #2662 Added a touch counter instead of flag to ensure the correct touch count

* See #2662 --- bending to the will of eslint

* See #2662 --- Added _touchCount to interactiveTarget.js, and removed an extraneous line in InteractionManager.js

* Removed an unnecessary check for _touchCount === undefined, since the mixin for interactiveTarget will always set this

* Fix issue #2662 Added a touch counter instead of flag to ensure the correct touch count

* See #2662 --- bending to the will of eslint

* See #2662 --- Added _touchCount to interactiveTarget.js, and removed an extraneous line in InteractionManager.js

* Removed an unnecessary check for _touchCount === undefined, since the mixin for interactiveTarget will always set this

* Adding cancel events to interaction manager

* Refactoring InteractionManager to normalize all events to PointerEvents. Also updated InteractiveTarget to handle multiple touch or pointer events by recording pointerId for all tracked events, rather than just counting events. Finally, InteractionManager now updates on all tracked events, rather than just mouse events, so it should send move events when UI objects move underneath any held event, not just the mouse

* Typo: mouse is not a function

* InteractionManager normalizeToPointerData now returns an array of normalized events for TouchEvents with multiple changedtouches

* Typo: no such thing as onPointerStart

* Fixing some more typos: trying to read the pointerId of un-normalized events

* Typos: un-normalized events don't have a pointerType

* Added identifier property to InteractionData, and got rid of some typos---trying to read pointerId from un-normalized events

* Forgot to bind onPointerCancel

* Refactoring interactiveTarget.js a bit, so that over, left down and right down are pointer properties, not mouse properties.

* Forgot an export default

* Changed the mixin pattern for Pixi.interaction.interactiveTarget, so that this is bound correctly, so that DisplayObjects can each get a unique object for tracking pointers

* Fixed some typos, moved interactiveTarget back to being an object, and released InteractionData after touch up/cancelled events

* Small fixed

* Safari compatibility

* hasOwnProperty fix

* Safer to use a string for mouse pointer than a number

* InteractionManager should now handle native DOM pointer events with pointerType mouse or touch by emitting mouse and touch events, respectively

* InteractionManager test now respects the refactored spec for InteractionManager

* Pointer events exclusive

* String.startsWith is not available in all browsers esp. older version of Safari. As it's just used in one place we can use a RegExp here too

* Moving from regex, slightly faster

* See #3149 --- Add support for touchcancel and pointercancel (#3375)

* Fix issue #2662 Added a touch counter instead of flag to ensure the correct touch count

* See #2662 --- bending to the will of eslint

* See #2662 --- Added _touchCount to interactiveTarget.js, and removed an extraneous line in InteractionManager.js

* Removed an unnecessary check for _touchCount === undefined, since the mixin for interactiveTarget will always set this

* Fix issue #2662 Added a touch counter instead of flag to ensure the correct touch count

* See #2662 --- bending to the will of eslint

* See #2662 --- Added _touchCount to interactiveTarget.js, and removed an extraneous line in InteractionManager.js

* Removed an unnecessary check for _touchCount === undefined, since the mixin for interactiveTarget will always set this

* Adding cancel events to interaction manager

* Refactoring InteractionManager to normalize all events to PointerEvents. Also updated InteractiveTarget to handle multiple touch or pointer events by recording pointerId for all tracked events, rather than just counting events. Finally, InteractionManager now updates on all tracked events, rather than just mouse events, so it should send move events when UI objects move underneath any held event, not just the mouse

* Typo: mouse is not a function

* InteractionManager normalizeToPointerData now returns an array of normalized events for TouchEvents with multiple changedtouches

* Typo: no such thing as onPointerStart

* Fixing some more typos: trying to read the pointerId of un-normalized events

* Typos: un-normalized events don't have a pointerType

* Added identifier property to InteractionData, and got rid of some typos---trying to read pointerId from un-normalized events

* Forgot to bind onPointerCancel

* Refactoring interactiveTarget.js a bit, so that over, left down and right down are pointer properties, not mouse properties.

* Forgot an export default

* Changed the mixin pattern for Pixi.interaction.interactiveTarget, so that this is bound correctly, so that DisplayObjects can each get a unique object for tracking pointers

* Fixed some typos, moved interactiveTarget back to being an object, and released InteractionData after touch up/cancelled events

* Small fixed

* Safari compatibility

* hasOwnProperty fix

* Safer to use a string for mouse pointer than a number

* InteractionManager should now handle native DOM pointer events with pointerType mouse or touch by emitting mouse and touch events, respectively

* InteractionManager test now respects the refactored spec for InteractionManager

* Pointer events exclusive

* String.startsWith is not available in all browsers esp. older version of Safari. As it's just used in one place we can use a RegExp here too

* Moving from regex, slightly faster

* Fixed interaction tests for the new world of pointer events
@andrewstart
Copy link
Contributor

Now that #3546 has been merged, this should be all set.

@lock
Copy link

lock bot commented Feb 24, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Feb 24, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
📢 Accepting PRs Would welcome a PR from the community. 🕷 Bug Verified that it’s actually a legit bug that exists in the current release. 💾 v4.x (Legacy) Legacy version 4 support
Projects
None yet
Development

No branches or pull requests

5 participants