When ICS Console open EOF from keyboard is no error
[xboard.git] / gtk / xboard.c
index cdd42a7..8537eaf 100644 (file)
@@ -523,6 +523,12 @@ GetActualPlacement (GtkWidget *shell, WindowPlacement *wp)
 }
 
 void
+GetPlacement (DialogClass dlg, WindowPlacement *wp)
+{ // wrapper to shield back-end from widget type
+  if(shellUp[dlg]) GetActualPlacement(shells[dlg], wp);
+}
+
+void
 GetWindowCoords ()
 { // wrapper to shield use of window handles from back-end (make addressible by number?)
   // In XBoard this will have to wait until awareness of window parameters is implemented
@@ -1782,7 +1788,7 @@ void MoveTypeInProc(eventkey)
     buf[0]=eventkey->keyval;
     buf[1]='\0';
     if (eventkey->keyval > 32 && eventkey->keyval < 256)
-       BoxAutoPopUp (buf);
+       ConsoleAutoPopUp (buf);
 }
 
 #ifdef TODO_GTK
@@ -1964,6 +1970,11 @@ DoInputCallback(io, cond, data)
        count = read(is->fd, is->unused,
                     INPUT_SOURCE_BUF_SIZE - (is->unused - is->buf));
        if (count <= 0) {
+           if(count == 0 && is->kind == CPReal && shells[ChatDlg]) { // [HGM] absence of terminal is no error if ICS Console present
+               RemoveInputSource(is); // cease reading stdin
+               stdoutClosed = TRUE;   // suppress future output
+               return True;
+           } 
            (is->func)(is, is->closure, is->buf, count, count ? errno : 0);
            return True;
        }