aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/DX8
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/DX8')
-rw-r--r--plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java b/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java
index a09267d..58299b7 100644
--- a/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java
+++ b/plugins/DX8/src/java/net/java/games/input/DirectInputAxis.java
@@ -145,7 +145,12 @@ class DirectInputAxis extends AbstractComponent {
* @return A float between -1.0 and 1.0
*/
public float getPollData() {
- int data = ((device.data[offset] >> bitshift)&bitmask);
+ int data = 0;
+ try {
+ data = ((device.data[offset] >> bitshift)&bitmask);
+ } catch (ArrayIndexOutOfBoundsException) {
+ System.out.println("Tried to get data for axis: " + this.getName() + ", device.data[" + offset + "] does not exists as device.data is only " + device.data.length + " long.")
+ }
if ((type&DIDFT_BUTTON) != 0 ) {
return (float)((data&0x80)>>7);
} else if ((type&DIDFT_AXIS)!=0){ // all axes are set for -32768 to 32738