device: fix crash when unplugging certain devices on macOS

Fixes #621
This commit is contained in:
rdb 2019-04-14 22:11:20 +02:00
parent 5530074945
commit 239dc40032

View File

@ -22,8 +22,11 @@
#include "mouseButton.h" #include "mouseButton.h"
static void removal_callback(void *ctx, IOReturn result, void *sender) { static void removal_callback(void *ctx, IOReturn result, void *sender) {
IOKitInputDevice *input_device = (IOKitInputDevice *)ctx; // We need to hold a reference to this because it may otherwise be destroyed
// during the call to on_remove().
PT(IOKitInputDevice) input_device = (IOKitInputDevice *)ctx;
nassertv(input_device != nullptr); nassertv(input_device != nullptr);
nassertv(input_device->test_ref_count_integrity());
input_device->on_remove(); input_device->on_remove();
} }