I have now divided up the fixes into the four classes, and discarded the
ones that are of no relevance.

This leaves about 30 patches, a few of which really should be grouped
together.

The fixes come into a number of broad headings:-

1) New function
2) Minor fixes, particularly they seem to have hit a number of NULL
pointer/handle problems and provide fixes to stop this causing traps
3) A new mode of operation which they called unmanaged.  This seems to make
ALL windows unmanaged, including the dialogs.  I am not quite sure why they
did this, but they did.
4) A few I can not yet understand or give a purpose to.

Of the new function there is:--

1) Support for BS_MULTILINE in controls/button.c
2) 24 bit graphics support in graphics/x11drv/dib.c
3) In dlls/shell32/shlfileop.c added dialogs to ask for confirmation of
deletes when flags set.  Add SHELL_IsFolderA, SHELL_CopyFolderA, and put
real code into SHFileOperationA
4) Changes to graphics/x11drv/xfont.c to change the maximum font size (from
1000 to 2000), to add a weight of "demi bold" (including the space), to
define serif, cursive, monospace, and fantasy, to ignore fonts with no
weights or width name, to precreate bold and italic fonts, a change to what
happens when looking for fonts with a lower resolution, addition of W3C
Chancery font, change when building font metrics to support fonts [a 0 b c]
in weight field of ltd which caused one of their programs to display a
strange logo if missing.

In the minor fixes class:-

1) Fix to GetFullNamePathA( ) to return the value in lower case (no
explanation given as to why)
2) Check for a NULL value returned in objects/enhmatafile.c
3) Change to windows/x11drv/event.c to show child windows at OnSetFofus -
seen as a workaround for an unspecified problem
4) In objects/gdi.obj change to put out a message when GDI resources run
out (a message box) and exiting preemptoraly, rather than just returning 0.
5) in miscemu/main.c changes to add signal handlers to clean up failed
programs.
6) Change in windows/mdi.c to check child and frame for NULL before trying
to use things pointed to by them
7) Changes to control/menu.c to check for NULL popupmenus before trying to
use them.
8) Safety check on This->sMyPath before being it in
dlls/shell32/shlfolder.c
9) changes to controls/static.c to handle case of no text, and to handle
SS_CENTREIMAGE.
10) Change to dlls/comctl32/tooltops.c for the case of text == "" (rather
than NULL).
11) Changes to dlls/comctl32/trackbar.c to do some calculations as doubles
rather than ints.  Also fix to support TBS_AUTOTICKS.
12) Change to dlls/comctl32/updown.c at a labled FIXME, which claims that
the MSDN specified value for infoPtr->MinVal should be 100 not 0, and for
MaxVal should be 0 not 100.

Changes for unmanged mode:-

1) In windows/x11drv/event.c  change condition for changing focus
2) Changes in control/menu.c to cope with menus in unmanaged dialogs
3) support in windows/message.c and nonclient.c and misc/options.h
4) Changes in windows/win.c to support unmanaged windows

In the non-understood category:-

1) In dlls/commdlg/filedlg.c, filedlg95.c and filedlgbrowser.c changes to
the behaviour when a folder is selected.
2) Changes in dlls/comctl32/header.c, listview.c and include/listview.h.
These talk about adding Drag and Drop support, some of this seems to be
present in the current code, but not all.
3) Added code to misc/options.h to RaiseException at EnterCriticalSection.
I can only presume they were having problems with CriticalSections and this
was a debugging aid, but it is there in there full release.
4) In dlls/shell32/pidl.c they change from using CSIDL_DESKTOPDIRECTORY to
CSIDL_DESKTOP.  Why is unclear.
5) In dlls/comctl32/propsheet.c there are changes to add support for
PSH_WIZARD97, whatever that might be.  I get the impression this might add
multipage wizards, but I am not familiar enough with what a PSH_WIZARD can
do to comment.
6) In dlls/shell32/shellpath.c a variety of changes.  Some to PathIsRootA,
with special changes for references to "My Computer" and to explicit unix
paths.  Also added support for CSIDL_DESKTOP, but does nothing but return
TRUE which is apparently all that is needed.  This is presumably tied in
with 4 above.
7) Some changes in windows/X11drv/wnd.c to stop X_QueryTree: BadWindow
problems.  One of these is fairly straight forward, but the other is in an
area that has been changed substancially since and I am not clear whether
it is still necessary.

Now the next question is, for those that I have renumbered and apply and
compile cleanly, how do you want them.  Do you want them one at a time, so
they can be discussed individually, or for instance in the case of the
safety checks as a single grouped block.

For those in the last class I would also value any input anyone might have
on the need/usefulness of these fixes.  I can send you the individual
fixes, but remember they are quite old when you come to look at them.  Some
I have relocated to 20001002, but some have changed enough inbetween that I
have not been able to relocate them.




Reply via email to