This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
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
Attachment:
fixaot.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |