client: Don't inappropriatly close fds for zombie objects

commit 239ba39331 which was intended
to stop leaking fds in events for zombie objects didn't notice that
passing 0 to wl_connection_close_fds_in() would still close fds.

Test the fd count before calling.

Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
Derek Foreman 2018-03-06 17:38:13 -06:00
parent 97351f995c
commit a9187853d4

View File

@ -1359,7 +1359,7 @@ queue_event(struct wl_display *display, int len)
if (!proxy || wl_object_is_zombie(&display->objects, id)) {
struct wl_zombie *zombie = wl_map_lookup(&display->objects, id);
if (zombie)
if (zombie && zombie->fd_count[opcode]) {
wl_connection_close_fds_in(display->connection,
zombie->fd_count[opcode]);