diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm index 0df97c934..c124db7db 100644 --- a/src/Fl_cocoa.mm +++ b/src/Fl_cocoa.mm @@ -238,7 +238,7 @@ public: pthread_mutex_init(&_datalock, NULL); FD_ZERO(&_fdsets[0]); FD_ZERO(&_fdsets[1]); FD_ZERO(&_fdsets[2]); _cancelpipe[0] = _cancelpipe[1] = 0; - _maxfd = 0; + _maxfd = -1; } ~DataReady() @@ -304,12 +304,14 @@ void DataReady::AddFD(int n, int events, void (*cb)(int, void*), void *v) void DataReady::RemoveFD(int n, int events) { int i,j; + _maxfd = -1; // recalculate maxfd on the fly for (i=j=0; i _maxfd) _maxfd = fds[i].fd; // move it down in the array if necessary: if (j