winReorderWindowsMultiWindow(), which now inhibits reentries to avoid
infinite restacking. Call winReorderWindowsMultiWindow() in appropriate
places to keep consistent window Z order even if always-on-top windows
are mixed. (Earle F. Philhower III and Takuma Murakami)
winReorderWindowsMultiWindow function from multiwindow mode. This
function was called around 100 times per second. Now the ordering task
is done in winTopLevelWindowProc/WM_ACTIVATE handler in event driven
manner. Stop propagating WM_ACTIVATEAPP messages to the root window.
Simplify winRedrawAllProcShadowGDI.
smallest bounding rectangle of damaged areas and each Windows window.
Compare process IDs instead of class names to determine whether a
window is a Cygwin/X window or not.
handler instead of winBlockHandler. Because it is an optimization, it
should not change visible behaviour while performance and simplicity
are improved.
in multiwindow mode. Reorganize message/event flow, add new scheme to
propagate window changes between Windows and X layers, eliminate bunch
of conditional branches and cache variables. A couple of bugs should be
fixed.