At 08:38 PM 7/11/2005 +0200, Eric Auer wrote:

Hi, the "fancy windowed desktop which only contains a text editor
and some small tools and comes with 2 bmps for unknown reason" GVEdit:
http://homepage.ntlworld.com/gvision/gv/gvedit.zip
... crashes for Blair with HIMEM and FDXXMS.

GVEDIT fails because it does not gracefully handle running under XMS managers which return an error code when an attempt is made to grow an XMS block beyond its initial size on a reallocation request. GVEDIT attempts to behave after the failure (it checks that an error code was returned and branches to a different part of the program), but soon crashes thereafter due to use of a null pointer. This appears to be an error in GVEDIT itself.

Against all my fitting inclinations to maintain a non-development stance -- especially since this isn't really a bug in HIMEM -- I added the capability to HIMEM to grow an existing XMS block, when possible.

When the grow on reallocate XMS block support was implemented, GVEDIT executes correctly when running under HIMEM. Note that if GVEDIT ever runs out of XMS handles such that a new handle cannot be allocated for the grow process, or because of insufficient extended memory, it will likely crash again. The GVEDIT bug remains; it is simply bypassed. Usually.

The grow XMS blocks on reallocate feature will appear in next HIMEM release, perhaps in August, perhaps in September. It is not needed for programs which don't attempt to grow XMS blocks via reallocation, or for programs which appropriately handle the failure code which was previously always returned on the attempt.

As a side note, GVEDIT does use XMS 3.x calls, quite frequently.




-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP, AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to