X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <10201081924.AA23433@clio.rice.edu> Subject: Re: INT 31 0303 Win XP bug To: djgpp-workers AT delorie DOT com, muller AT cerbere DOT u-strasbg DOT fr Date: Tue, 8 Jan 2002 13:24:33 -0600 (CST) Cc: core AT freepascal DOT org In-Reply-To: <4.2.0.58.20020108175939.01c8dff8@ics.u-strasbg.fr> from "Pierre Muller" at Jan 08, 2002 06:12:22 PM X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > After trying for a while to get the mouse > to work for our go32v2 FP IDE, > Florian Klaempfl and I finally discovered that the INT 31 0303 > has an XP specific bug: > > when the callback address is called the es register is null > instead of having the value given in es register > when calling the function 0303. > This leads to a crash of the NTVDM. > > Setting this value to the djgpp_ds_alias made the mouse callback to work correctly for XP. > As this is only done if es is null it shouldn't break any > working target. > > This info might be useful for SET, Rhide and maybe allegro, > but maybe there is some Free Pascal specific code that triggers this bug... Thanks for researching this. We could add a fix for this to the go32 wrapper functions, but I know many (most?) programs actually provide their own wrappers or write the callback handler in assembler?