🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc.rt
Article #509

Re: X11 Release 3 Announcement, IBM/4.3 fixes

#509
From: John F Carr
Date: Sat, 28 Oct 1989 22:04
172 lines
5531 bytes
>Does anybody have additional patches for the RT for X11R3 ?

These are the patches we have since the May 89 archive on expo.  The
usual disclaimers apply (use at your own risk, etc.), but this is the
code we build for the RTs at Athena.

Patches are delimited by "++++++++++++++++"; the name of the file to
be patched is in parentheses on the line after this (filename relative
to $(TOP)/server/ddx/ibm).

Bugs fixed:

	Poly point requests on the megapel no longer crash the server.

	Cursor code on multiple screens is more reliable (the server won't
	attempt to draw the cursor if it is off the screen).

	Drawing of partially obscured text is now done correctly.

	A bug in the HC compiler caused dashed lines off the edge of the
	screen to crash the server.


++++++++++++++++
(mpel/mpelPolyPt.c)

*** /tmp/,RCSt1015368	Sat Oct 28 17:36:32 1989
--- /tmp/,RCSt2015368	Sat Oct 28 17:36:35 1989
***************
*** 89,95 ****
  						  &box ) ;
  		      ppt++ )
  			/* Do Nothing */ ;
! 		for ( mpt = ppt ; npt-- ; ppt++ )
  			if ( (* PointInRegion)( pRegion, ppt->x,
  						ppt->y, &box ) )
  				*mpt++ = *ppt ;
--- 89,95 ----
  						  &box ) ;
  		      ppt++ )
  			/* Do Nothing */ ;
! 		for ( mpt = ppt ; npt-- > 0; ppt++ )
  			if ( (* PointInRegion)( pRegion, ppt->x,
  						ppt->y, &box ) )
  				*mpt++ = *ppt ;

++++++++++++++++
(mpel/mpelIO.c)

*** /tmp/,RCSt1015413	Sat Oct 28 17:37:58 1989
--- /tmp/,RCSt2015413	Sat Oct 28 17:38:02 1989
***************
*** 76,81 ****
--- 76,82 ----
  
  	ppcCommonScreenInit( pScreen, index, &mpelScreenRec ) ;
  	mpelCursorInit( index ) ;
+ 	mpelInitPlaneMask() ;
  
  	return 1 ;
  }

++++++++++++++++
(mpel/mpelCursor.c)

*** /tmp/,RCSt1015351	Sat Oct 28 17:36:07 1989
--- /tmp/,RCSt2015351	Sat Oct 28 17:36:11 1989
***************
*** 97,102 ****
--- 97,104 ----
      if ( ibmScreenState( screen_index ) != SCREEN_ACTIVE )
  	return ;
      curCursor = ibmCurrentCursor( screen_index ) ;
+     if (x >= MPEL_WIDTH || (x + curCursor->width) < 0)
+ 	return;			/* off the screen, don't bother */
      fSrc = (unsigned short int *) forePtrn ;
      bSrc = (unsigned short int *) backPtrn ;
  
++++++++++++++++
(apa16/apa16Line.c)

*** /tmp/,RCSt1015478	Sat Oct 28 17:45:09 1989
--- /tmp/,RCSt2015478	Sat Oct 28 17:45:11 1989
***************
*** 630,636 ****
--- 630,641 ----
      {
  	if (pdash->newLine)
  	{
+ #if HCVERSION > 1
+ 	    pt1Orig = *pptInit;
+ 	    pt1 = *pptInit++;
+ #else
  	    pt1Orig = pt1 = *pptInit++;
+ #endif
  	    pt2 = *pptInit;
  	    adx = pt2.x - pt1.x;
  	    ady = pt2.y - pt1.y;

++++++++++++++++
(apa16/apa16Text.c)

*** /tmp/,RCSt1015504	Sat Oct 28 17:47:24 1989
--- /tmp/,RCSt2015504	Sat Oct 28 17:47:26 1989
***************
*** 423,429 ****
--- 423,431 ----
  		    charsOut++;
  		    tmpCinfo++;
  		}
+ 		break;
  	case rgnOUT:
+ 		x += info.overallWidth;
  		break;
  	case rgnPART:
  		QUEUE_RESET();

++++++++++++++++
(apa16/apa16Curs.c)

*** /tmp/,RCSt1015539	Sat Oct 28 17:54:31 1989
--- /tmp/,RCSt2015539	Sat Oct 28 17:54:33 1989
***************
*** 221,230 ****
--- 221,232 ----
      if ( ibmScreenState(ibmCurrentScreen)!= SCREEN_ACTIVE) {
  	return;
      }
+ 
      APA16_GET_CMD(ROP_RECT_COPY,GXcopy,cmd);
      if (x<ibmCursorHotX(ibmCurrentScreen)) {
  	offset= ibmCursorHotX(ibmCurrentScreen)-x;
  	apa16ClearCursor(ACTIVE_CURSOR);
+ 	if (offset < CURSOR_WIDTH) {
  	    QUEUE_RESET();
  	    COPY_RECT(cmd, AND_EDGE(ACTIVE_CURSOR)-offset,  CURSOR_AREA_BOTTOM,
  		           AND_EDGE(currentCursor),	    CURSOR_AREA_BOTTOM,
***************
*** 232,237 ****
--- 234,240 ----
  	    COPY_RECT(cmd, XOR_EDGE(ACTIVE_CURSOR)-offset,  CURSOR_AREA_BOTTOM,
  		           XOR_EDGE(currentCursor),	    CURSOR_AREA_BOTTOM,
  		           CURSOR_WIDTH-offset,	    	    CURSOR_HEIGHT);
+ 	}
  	CURSOR_X= 0;
  	CURSOR_Y= y-ibmCursorHotY(ibmCurrentScreen);
  	obscured= TRUE;
***************
*** 239,244 ****
--- 242,248 ----
      else if (x>APA16_WIDTH-CURSOR_WIDTH+ibmCursorHotX(ibmCurrentScreen)) {
  	offset= x-APA16_WIDTH-ibmCursorHotX(ibmCurrentScreen)+CURSOR_WIDTH;
  	apa16ClearCursor(ACTIVE_CURSOR);
+ 	if (offset < CURSOR_WIDTH) {
  	    QUEUE_RESET();
  	    COPY_RECT(cmd, AND_EDGE(ACTIVE_CURSOR),    	    CURSOR_AREA_BOTTOM,
  		           AND_EDGE(currentCursor)-offset,  CURSOR_AREA_BOTTOM,
***************
*** 246,251 ****
--- 250,256 ----
  	    COPY_RECT(cmd, XOR_EDGE(ACTIVE_CURSOR),	    CURSOR_AREA_BOTTOM,
  		           XOR_EDGE(currentCursor)-offset,  CURSOR_AREA_BOTTOM,
  		           CURSOR_WIDTH-offset,		    CURSOR_HEIGHT);
+ 	}
  	CURSOR_X= APA16_WIDTH-48;
  	CURSOR_Y= y-ibmCursorHotY(ibmCurrentScreen);
  	obscured= TRUE;

++++++++++++++++

  --John Carr (jfc@athena.mit.edu)
    Project Athena Systems Development
Technical Details
Message-ID: <15481@bloom-beacon.MIT.EDU>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!bloom-beacon!athena.mit.edu!jfc
References: <2708@ibmpa.UUCP> <28586@shemp.CS.UCLA.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!bloom-beacon!athena.mit.edu!jfc
From: jfc@athena.mit.edu (John F Carr)
Newsgroups: comp.sys.ibm.pc.rt,comp.windows.x
Subject: Re: X11 Release 3 Announcement, IBM/4.3 fixes
Keywords: V1.17 X11r3 contributed software
Message-ID: <15481@bloom-beacon.MIT.EDU>
Date: 28 Oct 89 22:04:19 GMT
References: <2708@ibmpa.UUCP> <28586@shemp.CS.UCLA.EDU>
Sender: daemon@bloom-beacon.MIT.EDU
Reply-To: jfc@athena.mit.edu (John F Carr)
Followup-To: comp.sys.ibm.pc.rt
Organization: Massachusetts Institute of Technology
Lines: 172