Leak plumbing
Three parts:
- change libinput events to be on the stack. I went for minimal change with wlr_event = { 0 } to replace calloc, compiler should optimize it out for the fields we set right afterwards anyway -- happy to do slightly different.
- A little bit of cleanup of our destroy functions
- Still missing something obvious in the example code though, the remove functions are never called. Might use a hint there, not sure what is supposed to trigger these events - should our own code in the libinput backend when we destroy notify every device of a remove event? I still need to test on a computer where I can actually unplug the mouse (e.g. not a laptop with a trackpad), not sure if it's called on unplugging either at this point...