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]

Updated on sourceware: XFree86-xserv-4.2.0-39


The XFree86-xserv-4.2.0-39 package has been updated in the Cygwin
distribution.


Changes:


1) winmultiwindowwindow.c/winScaleXBitmapToWindows() - Clear the bits
in the alpha channel of the converted 32 bpp bitmap because it was
causing problems with window icons for certain display drivers.  Most
notably, display drivers from ATI were exhibiting these problems.
(Earle F. Philhower III)

2) wincursor.c/winPointerWarpCursor() - Discard the first cursor warp
message, since this is just X putting the mouse cursor in the center
of the screen, which is undesirable in Windows.  (Earle F. Philhower
III, Harold L Hunt II)

3) windialogs.c/winDisplay[Exit|DepthChange]Dialog() - Add calls to
drop the minimize and maximize buttons from the Exit Confirmation and
Depth Change dialog boxes, while preserving the icon on the upper left
hand corner of the dialog window.  (Earle F. Philhower III)

4) Convert X application icons set in WM_HINTS from XPMs to Windows
BMPs using an internal algorithm.  Earle, Ralf, and Colin worked
together on this one with coding, suggesting ideas, and testing.  The
end result is, as they say, very nearly perfect.  Each top-level X
window is now given its own class that has an icon associated with it.
The icon can be even changed while the application is running and this
is properly handled.  Icons are properly freed when a window and its
associated class are destroyed.  This entry encompasses a flurry of
emails and patches that I cannot possibly recount here; hopefully no
one feels slighted by this brief summary.  (Earle F. Philhower III,
Ralf Habacker, Colin Harrison)

5) Set XIconSizes() to the Windows approved 16, 32, and 48.  It
doesn't seem to be looked at by anything, but it is in the XLib
documents as something a WM should set.  (Earle F. Philhower III)

6) Removed several misc compile warnings.  (Earle F. Philhower
III)

7) winmultiwindowwindow.c/winTopLevelWindowProc() - Add a call to
winKeybdReleaseKeys () in WM_KILLFOCUS.  This fix stops the phantom
key presses that people were seeing.  The example here would be to
launch an xterm, then launch another xterm from that xterm.  Type
``exit'' in the first xterm and press enter.  The enter keydown
message is processed by the second xterm, but the keyup is never
processed so it got sent repeatedly to the root-level message loop
(which performs all keyboard processing), causing phantom key presses
to show up in any X app that currently had the focus.  At least, I
think that is that the problem was.  An interim solution was to press
and release the enter key, which would cause a keydown/keyup message
combo to be sent, thus ending the crazy looping.  This fix pops all
keys that are pressed when the current X app looses the keyboard
focus.  Colin suggested this, Earle move the location of the call to
the proper place.  (Colin Harrison, Earle F. Philhower III)

8) XWin.rc - Change the Exit Confirmation and Depth Change dialog
boxes to be centered by adding the DS_CENTER flag to the STYLE
attribute.  (Biju G C, Harold L Hunt II)

9) winmultiwindowwindow.c/winTopLevelWindowProc() - Let
DefaultWindowProc() handle the Alt+F4 key combo in the WM_*KEYDOWN
messages.  This allows a user to close a top-level X window (which has
an associated Windows window) by pressing Alt+F4.  Note that this
happens regardless of the -[no]winkill command-line parameter.  This
is the desired behavior since -[no]winkill should only affect the
behavior of the root-level window, not the individual X Client
windows.  (Biju G C, Harold L Hunt II)

10) winwndproc.c/winWindowProc() - Define a WM_GIVEUP message that
calls GiveUp(); remove the GiveUp() call from WM_CLOSE and replace it
with a call to winDisplayExitDialog(), which displays the Exit
Confirmation dialog box.  This only makes sense in conjunction with
the next change log entry.  (Biju G C, Harold L Hunt II)

11) windialogs.c/winExitDlgProc()/WM_COMMAND/ID_OK - Pass WM_GIVEUP to
PostMessage() instead of passing WM_CLOSE.  This patch causes the end
result that, in MultiWindow mode, selecting Close from the system menu
for non-root-level Windows window causes that particular X Client to
be killed.  The previous result was that the XWin.exe process was
exited without displaying the Exit Confirmation dialog box.  This must
have been a frustrating situation indeed and it makes this bug a
marvelous catch on Biju's part.  NOTE: The system menu can be opened
by right clicking on the title bar, or by left clicking the icon in
the upper left-hand corner of the app window, or by right clicking on
the application entry in the task bar.  (Biju G C, Harold L Hunt
II)

12) windialogs.c/winDisplay(Exit)|(ChangeDepth)Dialog() - Call
SetForegroundWindow() if the dialog box has already been created.
This pulls the dialog box to the foreground if it has been buried by
other windows.  It is legitimate to do this here because we are
responding to user input of some sort when this function gets called.
(Harold L Hunt II)

13) XWin.rc - Add the extended style WS_EX_DLGMODALFRAME and the
normal style WS_DLGFRAME to the Exit Confirmation dialog box in an
attempt to stop the dialog box from being listed in the task bar,
which was reported by one user.  This task bar listing has been
negatively confirmed in Windows 2000 and Windows XP, but it may be
happening in other versions of Windows.  Of course, this could have
been a reference to the fact that the dialog is present in the Alt+Tab
list.  However, that is the desired behavior and will not be changed
(how else could you get back to that dialog box?).  (Biju G C, Harold
L Hunt II)



--
Harold Hunt

To update your installation, click on the "Install Cygwin now" link
on the http://cygwin.com/ web page.  This downloads setup.exe to
your system.  Save it and run setup, answer the questions and pick
up 'XFree86-xserv' from the 'XFree86' category.  You may need to
click the "Full" button if it doesn't show up.

Note that downloads from sources.redhat.com (aka cygwin.com) aren't
allowed due to bandwidth limitations.  This means that you will need
to find a mirror which has this update.

In the US, ftp://archive.progeny.com/cygwin/
is a reliable high bandwidth connection.

In Japan, ftp://ftp.u-aizu.ac.jp/pub/gnu/gnu-win32/ is usually
up-to-date.

In DK, http://mirrors.sunsite.dk/cygwin/ is usually up-to-date.

If one of the above doesn't have the latest version of this package
you can either wait for the site to be updated or find another
mirror.

Please  send questions or comments to the Cygwin/XFree86 mailing list at:
cygwin-xfree@sources.redhat.com .  If you want to subscribe go to:
http://cygwin.com/lists.html I would appreciate if you would use
this mailing list rather than emailing me directly.  This includes
ideas and comments about the setup utility or Cygwin/XFree86 in general.

If you want to make a point or ask a question the Cygwin/XFree86 mailing
list is the appropriate place.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]