widl: Avoid using GetExceptionCode outside of an exception handler.

This commit is contained in:
Alexandre Julliard 2009-02-06 14:03:29 +01:00
parent f1bb04ff8a
commit a0fb6246c0
2 changed files with 6 additions and 2 deletions

View File

@ -392,7 +392,10 @@ static void init_server(void)
print_server("\n");
print_server("static int __server_filter( struct __server_frame *__frame )\n");
print_server( "{\n");
print_server( " return RPC_BAD_STUB_DATA_EXCEPTION_FILTER;\n");
print_server( " return (__frame->code == STATUS_ACCESS_VIOLATION) ||\n");
print_server( " (__frame->code == STATUS_DATATYPE_MISALIGNMENT) ||\n");
print_server( " (__frame->code == RPC_X_BAD_STUB_DATA) ||\n");
print_server( " (__frame->code == RPC_S_INVALID_BOUND);\n");
print_server( "}\n");
print_server( "\n");
}

View File

@ -3686,7 +3686,8 @@ void write_exceptions( FILE *file )
fprintf( file, "#else /* USE_COMPILER_EXCEPTIONS */\n");
fprintf( file, "\n");
fprintf( file, "#define RpcExceptionInit(filter_func,finally_func) do {} while(0)\n");
fprintf( file, "#define __DECL_EXCEPTION_FRAME\n");
fprintf( file, "#define __DECL_EXCEPTION_FRAME \\\n");
fprintf( file, " DWORD code;\n");
fprintf( file, "\n");
fprintf( file, "#endif /* USE_COMPILER_EXCEPTIONS */\n");
}