Subject: unofficial patch -- iconic display bugs

From: Steve Kinzler <[email-masked]>
Date: Fri, 26 Apr 91 18:11:11 -0500

I found a couple of bugs in faces v1.5.1's display when it's running a
-e script and the window is iconified.  The patch is included below.
It's also available in the iuvax ftp archive as faces/patches.shar.Z
which I'll maintain as a collection of unofficial patches.

Also, I've revised faces/scripts.tar.Z and faces/logos.tar.Z to make
use of the new ability to specify iconified window displays for -e
scripts.
						-- Steve Kinzler

------------------------------------------------------------------------
Patch for faces v1.5.1 to fix bugs in the display when a "faces -e"
window is iconified.

Steve Kinzler, [email-masked], 26 April 1991

*** mon.c.old	Fri Apr 26 16:30:43 1991
--- mon.c	Fri Apr 26 17:17:24 1991
***************
*** 570,576 ****
    else if (EQUAL(fields[(int) REC_USER], "NOUSERS")) ftype = NOUSERS ;
    else                                               ftype = ORDINARY ;
    add_face(itype, ftype, iconname) ;
!   if (itype == DISP_ICON)
      {
        if (fields[(int) REC_LWIN] != NULL)
          text(DISP_ICON,  LEFT,  fields[(int) REC_LWIN]) ;
--- 570,576 ----
    else if (EQUAL(fields[(int) REC_USER], "NOUSERS")) ftype = NOUSERS ;
    else                                               ftype = ORDINARY ;
    add_face(itype, ftype, iconname) ;
!   if (itype == DISP_ICON || itype == DISP_ALL)
      {
        if (fields[(int) REC_LWIN] != NULL)
          text(DISP_ICON,  LEFT,  fields[(int) REC_LWIN]) ;
***************
*** 577,583 ****
        if (fields[(int) REC_RWIN] != NULL)
          text(DISP_ICON,  RIGHT, fields[(int) REC_RWIN]) ;
      }
!   else
      {
        if (fields[(int) REC_LICON] != NULL)
          text(DISP_OTHER, LEFT,  fields[(int) REC_LICON]) ;
--- 577,583 ----
        if (fields[(int) REC_RWIN] != NULL)
          text(DISP_ICON,  RIGHT, fields[(int) REC_RWIN]) ;
      }
!   if (itype != DISP_ICON)
      {
        if (fields[(int) REC_LICON] != NULL)
          text(DISP_OTHER, LEFT,  fields[(int) REC_LICON]) ;
***************
*** 631,637 ****
    column = row = 0 ;        /* Start in top left corner of pixrect. */
    while (fgets(nextline, MAXLINE, fp) != NULL)
      {
!       get_userrec(nextline, (isicon ? DISP_ALL : DISP_BOTH)) ;
        adjust() ;            /* Adjust column and row. */
      }
    PCLOSE(fp) ;
--- 631,637 ----
    column = row = 0 ;        /* Start in top left corner of pixrect. */
    while (fgets(nextline, MAXLINE, fp) != NULL)
      {
!       get_userrec(nextline, (isicon ? DISP_BOTH : DISP_ALL)) ;
        adjust() ;            /* Adjust column and row. */
      }
    PCLOSE(fp) ;