Minimising window with "Always on top" attribute leaves contents in underlying window
Earle F. Philhower III
earle@ziplabel.com
Mon Jan 26 04:08:00 GMT 2004
Hi Mike...
At 08:29 AM 1/25/2004 +0000, Mike wrote:
>I'm using 4.3.0-42 and have noticed that the following minor bug in
>multi-window operation when running on Win2K and WinXPPro:
>Two windows (terminal or otherwise) are overlapped and the topmost one has
>it's "Always on top" attribute set (by right-clicking on the windows title
>bar). The topmost window is then minimised, leaving a copy of its contents
>on the desktop, viewable by moving the remaining window over the portion of
>the desktop previously occupied by the other window.
It's been a while since I submitted a patch, but since this problem
is due to my code I'll be nice and fix it. Basically, whenever we get
a WM_SYSCOMMAND:SC_MINIMIZE we need to disable the HWND_TOPMOST attribute
and let the X system recognize it. On a WM_SYSCOMMAND:SC_RESTORE we just
need to reset that attribute to what it was before.
I'm attaching a patch *against the CVS -r CYGWIN tree* because I cannot
get the XWin-4.3.0-42 source available on
http://xfree86.cygwin.com/devel/server/changelog.html
to compile properly, whereas the freedesktop CVS goes thru without a hitch.
It adds a boolean fAlwaysOnTop to the window privates; caches the AOT value
on a WM_SYSCOMMAND:SC_MINIMIZE and removes top-z attributes from the window;
restores the AOT value on a WM_SYSCOMMAND:SC_RESTORE; and changes the
WM_WINDOWPOSCHANGED event handler to always allow the Windoze DefWindowProc()
to be called (necessary for the changes I did, and doesn't seem to have any
negative effects).
-Earle F. Philhower, III
earle@ziplabel.com
cdrlabel - ZipLabel - FlpLabel
http://www.cdrlabel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixaot.patch
Type: application/octet-stream
Size: 1913 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-xfree/attachments/20040126/c7479688/attachment.obj>
More information about the Cygwin-xfree
mailing list