_tdm_event_loop_main_fd_handler(int fd, tdm_event_loop_mask mask, void *user_data)
{
tdm_private_module *private_module = (tdm_private_module*)user_data;
+ tdm_private_display *private_display;
tdm_func_display *func_display;
tdm_error ret;
if (!func_display->display_handle_events)
return TDM_ERROR_NONE;
+ private_display = private_module->private_display;
+ private_display->current_module = private_module;
ret = func_display->display_handle_events(private_module->bdata);
+ private_display->current_module = NULL;
return ret;
}
tdm_event_loop_source_remove(source);
}
+#if WAYLAND_VERSION_MAJOR >= 1 && WAYLAND_VERSION_MINOR >= 15
+ wl_display_destroy_clients(private_display->private_loop->wl_display);
+#endif
+
wl_display_destroy(private_display->private_loop->wl_display);
free(private_display->private_loop);