|
|
|
@ -155,7 +155,7 @@ static void source_send(struct wlr_xwm_selection *selection,
|
|
|
|
|
// lose track of the current `transfer->wl_client_fd` and use-after-free
|
|
|
|
|
// during cleanup. This doesn't happen often, but bail now to avoid a
|
|
|
|
|
// compositor crash later.
|
|
|
|
|
if (transfer->wl_client_fd > 0) {
|
|
|
|
|
if (transfer->wl_client_fd >= 0) {
|
|
|
|
|
wlr_log(WLR_ERROR, "source_send fd %d, but %d already in progress", fd,
|
|
|
|
|
transfer->wl_client_fd);
|
|
|
|
|
if (transfer->wl_client_fd != fd) {
|
|
|
|
@ -404,7 +404,7 @@ void xwm_handle_selection_notify(struct wlr_xwm *xwm,
|
|
|
|
|
wlr_log(WLR_DEBUG, "denying write access to clipboard: "
|
|
|
|
|
"no xwayland surface focused");
|
|
|
|
|
// Would leak this transfer otherwise. Should never happen.
|
|
|
|
|
assert(selection->incoming.wl_client_fd <= 0);
|
|
|
|
|
assert(selection->incoming.wl_client_fd < 0);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|