Check to make sure active card is still managed before sending events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3235 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -143,21 +143,25 @@ public abstract class CardPanel extends VirtualMediaPanel
|
|||||||
|
|
||||||
MouseInputAdapter mia = new MouseInputAdapter() {
|
MouseInputAdapter mia = new MouseInputAdapter() {
|
||||||
public void mousePressed (MouseEvent me) {
|
public void mousePressed (MouseEvent me) {
|
||||||
if (_activeCardSprite != null) {
|
if (_activeCardSprite != null &&
|
||||||
|
isManaged(_activeCardSprite)) {
|
||||||
_handleX = _activeCardSprite.getX() - me.getX();
|
_handleX = _activeCardSprite.getX() - me.getX();
|
||||||
_handleY = _activeCardSprite.getY() - me.getY();
|
_handleY = _activeCardSprite.getY() - me.getY();
|
||||||
_hasBeenDragged = false;
|
_hasBeenDragged = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void mouseReleased (MouseEvent me) {
|
public void mouseReleased (MouseEvent me) {
|
||||||
if (_activeCardSprite != null && _hasBeenDragged) {
|
if (_activeCardSprite != null &&
|
||||||
|
isManaged(_activeCardSprite) &&
|
||||||
|
_hasBeenDragged) {
|
||||||
_activeCardSprite.queueNotification(
|
_activeCardSprite.queueNotification(
|
||||||
new CardSpriteDraggedOp(_activeCardSprite, me)
|
new CardSpriteDraggedOp(_activeCardSprite, me)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void mouseClicked (MouseEvent me) {
|
public void mouseClicked (MouseEvent me) {
|
||||||
if (_activeCardSprite != null) {
|
if (_activeCardSprite != null &&
|
||||||
|
isManaged(_activeCardSprite)) {
|
||||||
_activeCardSprite.queueNotification(
|
_activeCardSprite.queueNotification(
|
||||||
new CardSpriteClickedOp(_activeCardSprite, me)
|
new CardSpriteClickedOp(_activeCardSprite, me)
|
||||||
);
|
);
|
||||||
@@ -173,7 +177,8 @@ public abstract class CardPanel extends VirtualMediaPanel
|
|||||||
(CardSprite)newHighestHit : null);
|
(CardSprite)newHighestHit : null);
|
||||||
|
|
||||||
if (_activeCardSprite != newActiveCardSprite) {
|
if (_activeCardSprite != newActiveCardSprite) {
|
||||||
if (_activeCardSprite != null) {
|
if (_activeCardSprite != null &&
|
||||||
|
isManaged(_activeCardSprite)) {
|
||||||
_activeCardSprite.queueNotification(
|
_activeCardSprite.queueNotification(
|
||||||
new CardSpriteExitedOp(_activeCardSprite, me)
|
new CardSpriteExitedOp(_activeCardSprite, me)
|
||||||
);
|
);
|
||||||
@@ -189,6 +194,7 @@ public abstract class CardPanel extends VirtualMediaPanel
|
|||||||
public void mouseDragged (MouseEvent me)
|
public void mouseDragged (MouseEvent me)
|
||||||
{
|
{
|
||||||
if (_activeCardSprite != null &&
|
if (_activeCardSprite != null &&
|
||||||
|
isManaged(_activeCardSprite) &&
|
||||||
_activeCardSprite.isDraggable()) {
|
_activeCardSprite.isDraggable()) {
|
||||||
_activeCardSprite.setLocation(
|
_activeCardSprite.setLocation(
|
||||||
me.getX() + _handleX,
|
me.getX() + _handleX,
|
||||||
|
|||||||
Reference in New Issue
Block a user