|
|
@@ -22,8 +22,11 @@
|
|
|
#include "mouseButton.h"
|
|
|
|
|
|
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->test_ref_count_integrity());
|
|
|
input_device->on_remove();
|
|
|
}
|
|
|
|