[7249] in Athena Bugs

home help back first fref pref prev next nref lref last post

decmips 7.2R: xps/X11.c

daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Thu Mar 7 11:33:57 1991

Date: Thu, 7 Mar 91 11:33:38 EST
From: John T Kohl <jtkohl@MIT.EDU>
To: bugs@MIT.EDU

System name:		quicksilver
Type and version:	KN01 7.2R
Display type:		PM-MONO

What were you trying to do?
	Run xps on a sun-4.

What's wrong:
	1) it coredumps
	2) it doesn't display since it gets an allowable but not
expected ordering of events from the sun X11R4 X server.

What should have happened:
	It should work.  patches:
*** /source/athena/usr.athena/xps/X11.c	Tue May  1 09:43:59 1990
--- /tmp/X11.c	Thu Mar  7 11:31:39 1991
***************
*** 291,301 ****
  
    to->flags = ISWIN;
    vmask = CWBackPixel|CWBorderPixel|CWBackingStore|
!     CWBackingPlanes;
    xswa.background_pixel = whitepixel;
    xswa.border_pixel = blackpixel;
    xswa.backing_store = Always;
    xswa.backing_planes = AllPlanes;
    xshints.x = DisplayWidth(dpy, SCREEN) - width;
    xshints.y = 0;
    xshints.width = width;
--- 291,303 ----
  
    to->flags = ISWIN;
    vmask = CWBackPixel|CWBorderPixel|CWBackingStore|
!     CWBackingPlanes|CWEventMask;
    xswa.background_pixel = whitepixel;
    xswa.border_pixel = blackpixel;
    xswa.backing_store = Always;
    xswa.backing_planes = AllPlanes;
+   /* need to select exposures at create time to make sure we get one! */
+   xswa.event_mask = ExposureMask;
    xshints.x = DisplayWidth(dpy, SCREEN) - width;
    xshints.y = 0;
    xshints.width = width;
***************
*** 317,323 ****
    if (TESTING)
      XSetNormalHints(dpy, hard->w, &xshints);
       
-   XSelectInput(dpy, hard->w, ExposureMask);
    XMapWindow(dpy, hard->w);
    XFlush(dpy);
    do { /* modified by AMG for testing */
--- 319,324 ----
***************
*** 507,513 ****
    if (from != NULL && !IsBitmapHardware(from))
      Punt("Paint() called with non-bitmap source.\n");
  
!   if (to == NULL || !from->touched) return;
    tohard = (Hardware) to->hard.addr;
  
    b = colour.brightness;
--- 508,514 ----
    if (from != NULL && !IsBitmapHardware(from))
      Punt("Paint() called with non-bitmap source.\n");
  
!   if (to == NULL || !from || !from->touched) return;
    tohard = (Hardware) to->hard.addr;
  
    b = colour.brightness;


Please describe any relevant documentation references:
	XCreateWindow(3X), Ralph Swick


home help back first fref pref prev next nref lref last post