Skip to content

Commit 6dca015

Browse files
committed
added safety check in case .dll could not be loaded
1 parent e6788b8 commit 6dca015

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

ARE/components/sensor.trackir/src/main/c++/TrackIRBridge.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ JavaVM * jvm = NULL;
3838
jobject trackObj_ms = NULL;
3939
HINSTANCE hLib;
4040
jmethodID processData = NULL;
41+
int dllAvailable = 0;
4142

4243

4344
extern "C"
@@ -222,11 +223,12 @@ int start_TrackIR() {
222223
result = (*stopCursor)();
223224
printf("C++: TrackIR Brigde Calling NP_StartDataTransmission\n");
224225
result = (*startDataTransmission)();
225-
226+
dllAvailable = 1;
226227
return (1);
227228
}
228229

229230
int stop_TrackIR() {
231+
if (!dllAvailable) return(0);
230232
printf("Calling NP_StopDataTransmission\n");
231233
int result = (*stopDataTransmission)();
232234
printf("Calling NP_StartCursor\n");
@@ -269,6 +271,7 @@ JNIEXPORT jint JNICALL Java_eu_asterics_component_sensor_trackir_jni_Bridge_getU
269271
(JNIEnv* env, jobject obj)
270272
{
271273

274+
if (!dllAvailable) return(0);
272275
memset(&pTrackIRData, 0, sizeof(TRACKIRDATA));
273276
(*getData)(&pTrackIRData);
274277
//printf("C++: send test callback\n");
@@ -280,6 +283,7 @@ JNIEXPORT jint JNICALL Java_eu_asterics_component_sensor_trackir_jni_Bridge_getU
280283
JNIEXPORT jint JNICALL Java_eu_asterics_component_sensor_trackir_jni_Bridge_centerCoordinates
281284
(JNIEnv* env, jobject obj)
282285
{
286+
if (!dllAvailable) return(0);
283287
(*reCenter)();
284288
return (jint)0;
285289
}

0 commit comments

Comments
 (0)