[comp.windows.x] X Windows System Patches 81-90 Summary

david@geac.UUCP (David Haynes) (12/24/87)

Here are the summaries for patches 81-90 of the official
X Windows System fixes from xstuff.

At the time of this posting, I have actually patched to
level 92 and am awaiting fix 93. I think it makes more sense
to post these summaries in units of 10 --- what do the rest
of you think? Should I have posted to level 92?

-david-

------------------------------------------------------------
Patch #90 done. Fixed server/dix/window.c

client->saveSet not being freed
------------------------------------------------------------
Patch 89 done. Fixed server/ddx/mi/mibitblt.c

miGetPlane assumed bit order == byte order.
------------------------------------------------------------
Patch #88 done. Fixed lib/oldX/XDraw.c

XDraw and XDrawFilled fail unless all points do NOT have
VertexRelative set.
------------------------------------------------------------
Patch #87 done. Fixed server/ddx/mi/miarc.c

- miPolyArc didn't free some points and freed others multiple times
- fTricky case didn't handle miTranslate
- didn't handle empty arcs gracefully
- exhibited coding practices common to large executables
- lint
- nits
------------------------------------------------------------
Patch #86 done. Changed lib/X/XDrArc.c

Coalescing individual arcs into a single PolyArc request
is a no-no, since unexpected joins might occur.
------------------------------------------------------------
Patch #85 done. Fixed server/include/colormap.h, server/dix/dispatch.c,
server/dix/colormap.c

- ProcFreeColormap was freeing maps twice
- Xalloc can't return NULL
- FreeColormap gets called with resource id, not client
- fShared means all three shco components exist
- make various funcs static
- do AllocAll case of CopyColormapAndFree reasonably
- handle free count in CopyFree correctly
- handle fShared entries in CopyFree correctly
- handle refcnts on shared read-only entries in CopyFree correctly
- update caller's RGB for static maps in AllocColor
- handle partial alloc failure in DirectColor in AllocColor correctly
- worry about arithmetic overflow in FindBestPixel
- remember all read-only pixels allocated in FindColor
- fShared can only happend in the red map
- catch AllocColorCells on all static classes
- catch AllocColorPlanes on all static classes
- handle allocation failures cleanly in AllocDirect
- fls() no longer used
- disallow StoreColors on static maps
- don't thrash in StoreColors on fShared entries with refcnt=1
- CopyFromParent isn't a colormap anymore
- lint, lint, lint
- nits, nits, nits
------------------------------------------------------------
Patch 84 done. Fixed server/dix/events.c, server/dix/window.c

- handle cursor confinement more correctly
- call screen's PositionWindow on roots
- ParentRelative background does not cause auto-repaint of background
- send GravityNotify only when protocol says to
- handle Static window gravity
- handle change in border width correctly
- restacking is based on full window extents, not clipped to parent
- account for border width when reparenting
- MarkChildren redundant with MarkSiblingsBelowMe
- various nits
------------------------------------------------------------
Patch #83 done. Changed server/ddx/sun/sunGC.c, server/ddx/apollo/apolloGC.c

(Software) Cursor is removed for output to window even when unmapped.
------------------------------------------------------------
Patch #82 done. Fixed server/dix/extension.c, server/dix/initext.c
and server/dix/main.c

- extension inits couldn't call GetNextEventMask()
- memory leak in auxiliary screen procs on close down
------------------------------------------------------------
Patch #81 done. Fixed clients/xinit/xinit.c

If you run Xsun under SunView with one Xterm designated the
console window, when you exit X SunView will have forgotten
which Sun window the console used to be, and console messages
will be written to the screen as though there were no console
window.  This messes up the display, requiring you to invoke
the SunView redisplay command.
------------------------------------------------------------
Patch 68a done. Patched server/dix/window.c

Due to a problem with the compiler optimizer under Sun O/S 3.2, the
window server broke on some machines. While it didn't seem to be broken
on this machine, I applied the patch to make sure. 

(The eventual resolution of this problem was that I did not set
the sun optimizer on when compiling, those that did saw the problem)
-- 
David Haynes
Geac Computers International Inc. 
UUCP:	{mnetor|yetti|utgpu}!geac!david