When the last pointer is removed from a seat, the pointer struct is intentionally kept. This has some interesting side effects, so I've documented it here so people like me don't errantly assume it's a bug.
fd5ca51 input: Add comment explaining why pointer isn't freed when device is removed
src/input.c | 5 +++++
1 file changed, 5 insertions(+)
Upstream: cgit.freedesktop.org