mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-14 19:35:42 +00:00
msvcrt: Fix 64-bit _CxxThrowException implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
ede38f4fdb
commit
97b9ff81b8
|
@ -1152,6 +1152,7 @@ void* CDECL MSVCRT___RTCastToVoid(void *cppobj)
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* _CxxThrowException (MSVCRT.@)
|
* _CxxThrowException (MSVCRT.@)
|
||||||
*/
|
*/
|
||||||
|
#ifndef __x86_64__
|
||||||
void WINAPI _CxxThrowException( exception *object, const cxx_exception_type *type )
|
void WINAPI _CxxThrowException( exception *object, const cxx_exception_type *type )
|
||||||
{
|
{
|
||||||
ULONG_PTR args[3];
|
ULONG_PTR args[3];
|
||||||
|
@ -1161,6 +1162,18 @@ void WINAPI _CxxThrowException( exception *object, const cxx_exception_type *typ
|
||||||
args[2] = (ULONG_PTR)type;
|
args[2] = (ULONG_PTR)type;
|
||||||
RaiseException( CXX_EXCEPTION, EH_NONCONTINUABLE, 3, args );
|
RaiseException( CXX_EXCEPTION, EH_NONCONTINUABLE, 3, args );
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
void WINAPI _CxxThrowException( exception *object, const cxx_exception_type *type )
|
||||||
|
{
|
||||||
|
ULONG_PTR args[4];
|
||||||
|
|
||||||
|
args[0] = CXX_FRAME_MAGIC_VC6;
|
||||||
|
args[1] = (ULONG_PTR)object;
|
||||||
|
args[2] = (ULONG_PTR)type;
|
||||||
|
RtlPcToFileHeader( (void*)type, (void**)&args[3]);
|
||||||
|
RaiseException( CXX_EXCEPTION, EH_NONCONTINUABLE, 4, args );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z
|
* ?_is_exception_typeof@@YAHABVtype_info@@PAU_EXCEPTION_POINTERS@@@Z
|
||||||
|
|
Loading…
Reference in a new issue