We shouldn't be using seat->pointer|keyboard|touch here, we should be
testing *_device_count to see if a device is currently present.
Testing the pointers directly will result in incorrectly advertising
capabilities after all devices of a type have been removed.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Jonas Ã…dahl <jadahl@gmail.com>
wl_resource_set_implementation(resource, &seat_interface, data,
unbind_resource);
- if (seat->pointer)
+ if (seat->pointer_device_count)
caps |= WL_SEAT_CAPABILITY_POINTER;
- if (seat->keyboard)
+ if (seat->keyboard_device_count)
caps |= WL_SEAT_CAPABILITY_KEYBOARD;
- if (seat->touch)
+ if (seat->touch_device_count)
caps |= WL_SEAT_CAPABILITY_TOUCH;
wl_seat_send_capabilities(resource, caps);