From 7ead5ac9f51aab7276adf29062fcdd18c13a7af6 Mon Sep 17 00:00:00 2001 From: Paul Dino Jones Date: Thu, 27 Mar 2025 17:12:23 -0400 Subject: [PATCH] fix issue with freeing lua file on cammus c12 --- src/monocoque/devices/usb/wheels/cammusc12.c | 4 ++++ src/monocoque/devices/wheeldevice.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/monocoque/devices/usb/wheels/cammusc12.c b/src/monocoque/devices/usb/wheels/cammusc12.c index 78bd3b3..5988d9d 100644 --- a/src/monocoque/devices/usb/wheels/cammusc12.c +++ b/src/monocoque/devices/usb/wheels/cammusc12.c @@ -102,6 +102,10 @@ int cammusc12_init(USBDevice* wheeldevice, const char* luafile) wheeldevice->u.wheeldevice.useLua = false; int res = cammusc12_init_(wheeldevice); + if(!wheeldevice->handle) + { + return 1; + } if(luafile == NULL) { diff --git a/src/monocoque/devices/wheeldevice.c b/src/monocoque/devices/wheeldevice.c index b6b8d19..2cb9305 100644 --- a/src/monocoque/devices/wheeldevice.c +++ b/src/monocoque/devices/wheeldevice.c @@ -39,6 +39,7 @@ int wheeldev_update(USBDevice* usbdevice, SimData* simdata) int wheeldev_free(USBDevice* usbdevice) { WheelDevice* wheeldevice = &usbdevice->u.wheeldevice; + slogt("wheel device free"); switch ( wheeldevice->type ) { case WHEELDEV_UNKNOWN : @@ -47,9 +48,8 @@ int wheeldev_free(USBDevice* usbdevice) cammusc5_free(usbdevice); break; case WHEELDEV_CAMMUSC12 : - //cammusc12_update(usbdevice, 0, 0, 0, 0); cammusc12_free(usbdevice); - if(usbdevice->m.device_specific_config_file != NULL) + if(wheeldevice->useLua == true) { free(usbdevice->m.device_specific_config_file); }