wl dnd - check socketpair and fcntl return values
fix CID 1403951
This commit is contained in:
parent
a536c8a6a2
commit
1c893b064f
|
@ -456,9 +456,17 @@ _xwl_selection_request(void *d EINA_UNUSED, int t EINA_UNUSED, Ecore_X_Event_Sel
|
||||||
E_Client *ec;
|
E_Client *ec;
|
||||||
int fds[2];
|
int fds[2];
|
||||||
|
|
||||||
|
if (socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, fds) != 0)
|
||||||
|
break;
|
||||||
|
if (fcntl(fds[0], F_SETFL, O_NONBLOCK) != 0)
|
||||||
|
{
|
||||||
|
close(fds[0]);
|
||||||
|
close(fds[1]);
|
||||||
|
break;
|
||||||
|
}
|
||||||
p = E_NEW(Pipe, 1);
|
p = E_NEW(Pipe, 1);
|
||||||
socketpair(AF_UNIX, (SOCK_STREAM | SOCK_CLOEXEC), 0, fds);
|
if (p)
|
||||||
fcntl(fds[0], F_SETFL, O_NONBLOCK);
|
{
|
||||||
p->fdh = ecore_main_fd_handler_add(fds[0], ECORE_FD_READ, _xwl_pipe_read, p, NULL, NULL);
|
p->fdh = ecore_main_fd_handler_add(fds[0], ECORE_FD_READ, _xwl_pipe_read, p, NULL, NULL);
|
||||||
p->win = ev->requestor;
|
p->win = ev->requestor;
|
||||||
p->source = source;
|
p->source = source;
|
||||||
|
@ -471,6 +479,7 @@ _xwl_selection_request(void *d EINA_UNUSED, int t EINA_UNUSED, Ecore_X_Event_Sel
|
||||||
if (ec && ec->override)
|
if (ec && ec->override)
|
||||||
ecore_x_window_sniff(ev->requestor);
|
ecore_x_window_sniff(ev->requestor);
|
||||||
eina_hash_add(pipes, &p->win, p);
|
eina_hash_add(pipes, &p->win, p);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue