Skip to content

Commit

Permalink
Fixed ActorGestureListener holding actor references forever.
Browse files Browse the repository at this point in the history
These references can prevent GC!
  • Loading branch information
NathanSweet committed Apr 28, 2024
1 parent 748ae62 commit 0ae653c
Showing 1 changed file with 6 additions and 0 deletions.
Expand Up @@ -114,22 +114,27 @@ public boolean handle (Event e) {
touchDown(event, tmpCoords.x, tmpCoords.y, event.getPointer(), event.getButton());
if (event.getTouchFocus()) event.getStage().addTouchFocus(this, event.getListenerActor(), event.getTarget(),
event.getPointer(), event.getButton());
actor = null;
return true;
case touchUp:
if (event.isTouchFocusCancel()) {
detector.reset();
touchDownTarget = null;
return false;
}
this.event = event;
actor = event.getListenerActor();
detector.touchUp(event.getStageX(), event.getStageY(), event.getPointer(), event.getButton());
actor.stageToLocalCoordinates(tmpCoords.set(event.getStageX(), event.getStageY()));
touchUp(event, tmpCoords.x, tmpCoords.y, event.getPointer(), event.getButton());
actor = null;
touchDownTarget = null;
return true;
case touchDragged:
this.event = event;
actor = event.getListenerActor();
detector.touchDragged(event.getStageX(), event.getStageY(), event.getPointer());
actor = null;
return true;
}
return false;
Expand Down Expand Up @@ -170,6 +175,7 @@ public GestureDetector getGestureDetector () {
return detector;
}

/** Returns null if there is no current touch down. */
public @Null Actor getTouchDownTarget () {
return touchDownTarget;
}
Expand Down

0 comments on commit 0ae653c

Please sign in to comment.