goto cleanup;
ecore_main_fd_handler_del(handler);
+ offer->source->fd_handler = NULL;
DBG("create thread for pipe th:%p, src:%d, dst:%d", offer->th, td->src_fd, td->dst_fd);
}
if (source_fd > 0) close(source_fd);
ecore_main_fd_handler_del(handler);
+ offer->source->fd_handler = NULL;
return ECORE_CALLBACK_DONE;
}
if (offer->source)
{
wl_list_remove(&offer->source_destroy_listener.link);
- ecore_main_fd_handler_del(offer->source->fd_handler);
+ if (offer->source->fd_handler)
+ ecore_main_fd_handler_del(offer->source->fd_handler);
if (wl_resource_get_version(offer->resource) < WL_DATA_OFFER_ACTION_SINCE_VERSION)
_e_comp_wl_data_source_notify_finish(offer->source);