mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
Changed my mind about r7164. Instead of checking for zero flags
inside one single uxsel front end, better to do it centrally and
avoid passing zero flags on to the front end in the first place. I'm
sure other similarly structured front ends could get confused by it
too.
[originally from svn r7171]
[r7164 == 65f9735b95
]
This commit is contained in:
parent
13ad541cb5
commit
0ed390d44a
@ -2695,15 +2695,12 @@ int uxsel_input_add(int fd, int rwx) {
|
||||
if (rwx & 1) flags |= GDK_INPUT_READ;
|
||||
if (rwx & 2) flags |= GDK_INPUT_WRITE;
|
||||
if (rwx & 4) flags |= GDK_INPUT_EXCEPTION;
|
||||
if (flags)
|
||||
return gdk_input_add(fd, flags, fd_input_func, NULL);
|
||||
else
|
||||
return -1;
|
||||
assert(flags);
|
||||
return gdk_input_add(fd, flags, fd_input_func, NULL);
|
||||
}
|
||||
|
||||
void uxsel_input_remove(int id) {
|
||||
if (id > 0)
|
||||
gdk_input_remove(id);
|
||||
gdk_input_remove(id);
|
||||
}
|
||||
|
||||
char *guess_derived_font_name(GdkFont *font, int bold, int wide)
|
||||
|
22
unix/uxsel.c
22
unix/uxsel.c
@ -62,22 +62,18 @@ void uxsel_init(void)
|
||||
|
||||
void uxsel_set(int fd, int rwx, uxsel_callback_fn callback)
|
||||
{
|
||||
struct fd *newfd = snew(struct fd);
|
||||
struct fd *oldfd;
|
||||
struct fd *newfd;
|
||||
|
||||
newfd->fd = fd;
|
||||
newfd->rwx = rwx;
|
||||
newfd->callback = callback;
|
||||
uxsel_del(fd);
|
||||
|
||||
oldfd = find234(fds, newfd, NULL);
|
||||
if (oldfd) {
|
||||
uxsel_input_remove(oldfd->id);
|
||||
del234(fds, oldfd);
|
||||
sfree(oldfd);
|
||||
if (rwx) {
|
||||
newfd = snew(struct fd);
|
||||
newfd->fd = fd;
|
||||
newfd->rwx = rwx;
|
||||
newfd->callback = callback;
|
||||
newfd->id = uxsel_input_add(fd, rwx);
|
||||
add234(fds, newfd);
|
||||
}
|
||||
|
||||
add234(fds, newfd);
|
||||
newfd->id = uxsel_input_add(fd, rwx);
|
||||
}
|
||||
|
||||
void uxsel_del(int fd)
|
||||
|
Loading…
Reference in New Issue
Block a user