Actual implementation of the int 3d call (Standalone FWAIT) is to patch the code to an fwait(9b) and a noop(90).
It seems that it corrupts the stack in FPU_ModifyCode and prevents vb3 programs to start. (tests made with current CVS)
Since we do nothing apart an emulated fwait, I commented the call to FPU_ModifyCode. The call to int3d is equal to nothing and makes vb3 programs start :
dlls/winedos/fpu.c : 188 TRACE("Int 0x3d called-- Standalone FWAIT"); /* FPU_ModifyCode(context, 0x90); */
Does it seems to you its the correct way to proceed and will it be valid in all cases ?
===== Sylvain Petreolle (spetreolle_at_users_dot_sourceforge_dot_net) ICQ #170597259
alias upsf='false ; while [ $? -ne 0 ] ; do cvs update -APd ; done 2>&1 |tee cvslog'
"What if tomorrow the War could be over ?" Morpheus, in "Reloaded".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com