delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2002/01/08/14:22:53

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
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

>     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?

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019