wl_data_device interface does not have a destructor defined in the protocol, which means that the server cannot know if a client destroys a wl_data_device object. This leaks the server-side resource. To make things worse, wl_data_device.data_offer *event* creates a new wl_data_offer protocol object. If a client has destroyed a wl_data_device, the server will not know about it, and will keep sending data_offer events as appropriate. As the client does not track the wl_data_device object anymore, those events will be ignored in the client. This means that in the server, wl_data_offer objects just keep piling up, as the server cannot destroy them on its own. If possible, we should add destructor protocol to wl_data_device interface.
commit 0953e126d7836781a3310e85c9b5a0e6408b2a49 Author: kabeer khan <kabeer.khan@samsung.com> Date: Mon Oct 13 10:34:26 2014 +0530 Protocol : Added destructor to wl_data_device interface in Wayland, and implementations in Weston.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.