Alexandre Julliard : ntdll: Don' t try to restore extended fpu context if not supported.

Alexandre Julliard julliard at winehq.org
Fri Jan 18 06:33:58 CST 2008


Module: wine
Branch: master
Commit: 2cba11aa6f929e749a2876da8fbb6f235e0d849d
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2cba11aa6f929e749a2876da8fbb6f235e0d849d

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Jan 18 12:02:31 2008 +0100

ntdll: Don't try to restore extended fpu context if not supported.

Remove an extra fpu context save left over from testing.

---

 dlls/ntdll/signal_i386.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 03729ed..172d362 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -792,7 +792,6 @@ static inline void save_context( CONTEXT *context, const SIGCONTEXT *sigcontext,
     }
     if (fpux)
     {
-        save_fpux( context );
         context->ContextFlags |= CONTEXT_FLOATING_POINT | CONTEXT_EXTENDED_REGISTERS;
         memcpy( context->ExtendedRegisters, fpux, sizeof(*fpux) );
         fpux_support = 1;
@@ -873,7 +872,7 @@ void set_cpu_context( const CONTEXT *context )
 {
     DWORD flags = context->ContextFlags & ~CONTEXT_i386;
 
-    if (flags & CONTEXT_EXTENDED_REGISTERS) restore_fpux( context );
+    if ((flags & CONTEXT_EXTENDED_REGISTERS) && fpux_support) restore_fpux( context );
     else if (flags & CONTEXT_FLOATING_POINT) restore_fpu( context );
 
     if (flags & CONTEXT_DEBUG_REGISTERS)




More information about the wine-cvs mailing list