mirror of
https://github.com/shadowfacts/jinput-arm64.git
synced 2026-01-03 07:19:56 +01:00
Trying to sort out some of the crashes and failed exits
This commit is contained in:
parent
552fdad56d
commit
4c91a4eb44
|
|
@ -12,7 +12,7 @@ public class JInputLibrary {
|
|||
private static boolean shutdown = false;
|
||||
private static Object shutdownThreadMonitor = new Object();
|
||||
private static boolean cleanupDone = false;
|
||||
private static int rumbler;
|
||||
private static int rumbler = -1;
|
||||
private static float force;
|
||||
|
||||
public static boolean isSupported() {
|
||||
|
|
@ -102,6 +102,9 @@ public class JInputLibrary {
|
|||
}
|
||||
System.out.println("Environment cleanup");
|
||||
for(int i=0;i<JInputLibrary.getNumberOfDevices();i++) {
|
||||
if(JInputLibrary.getFFEnabled(i)) {
|
||||
JInputLibrary.nativeRumble(i, 0f);
|
||||
}
|
||||
JInputLibrary.nativeCleanup(i);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,12 +8,6 @@ public class LinuxDeviceRumbler implements Rumbler {
|
|||
|
||||
public LinuxDeviceRumbler(int deviceID) {
|
||||
this.deviceID = deviceID;
|
||||
|
||||
Runtime.getRuntime().addShutdownHook(new Thread() {
|
||||
public void run() {
|
||||
cleanup();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void rumble(float intensity) {
|
||||
|
|
@ -31,8 +25,4 @@ public class LinuxDeviceRumbler implements Rumbler {
|
|||
return null;
|
||||
}
|
||||
|
||||
private void cleanup() {
|
||||
rumble(0f);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -335,7 +335,10 @@ JNIEXPORT jboolean JNICALL Java_net_java_games_input_JInputLibrary_getFFEnabled
|
|||
*/
|
||||
JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_nativeRumble
|
||||
(JNIEnv *, jclass, jint deviceID, jfloat force) {
|
||||
jinputDeviceList[deviceID]->rumble(force);
|
||||
if(jinputDeviceList[deviceID]!=0) {
|
||||
LOG_TRACE("Setting rumble on device %d to %d\n", deviceID, force);
|
||||
jinputDeviceList[deviceID]->rumble(force);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -346,8 +349,9 @@ JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_nativeRumble
|
|||
JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_nativeCleanup
|
||||
(JNIEnv *, jclass, jint deviceID) {
|
||||
if(jinputDeviceList[deviceID]!=0) {
|
||||
LOG_TRACE("Cleaning up device %d\n", deviceID);
|
||||
jinputDeviceList[deviceID]->cleanup();
|
||||
free(jinputDeviceList);
|
||||
free(jinputDeviceList[deviceID]);
|
||||
jinputDeviceList[deviceID]=0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue