From a84cce8d9c1c2e45d4c07dead79ad0890f00c42b Mon Sep 17 00:00:00 2001 From: Mike Nordell Date: Tue, 11 Sep 2012 03:50:20 +0000 Subject: [PATCH] Make SetUnhandledExceptionFilter return the _previous_ handler as it should. Fixes at least a winetest for ntdll (MinGW startup code got stuck in infinite loop due to this bug) svn path=/trunk/; revision=57269 --- reactos/dll/win32/kernel32/client/except.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/dll/win32/kernel32/client/except.c b/reactos/dll/win32/kernel32/client/except.c index 2303e4b158b..85d1a0de51a 100644 --- a/reactos/dll/win32/kernel32/client/except.c +++ b/reactos/dll/win32/kernel32/client/except.c @@ -435,12 +435,12 @@ LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(IN LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter) { - PVOID EncodedPointer, NewPointer; + PVOID EncodedPointer, EncodedOldPointer; EncodedPointer = RtlEncodePointer(lpTopLevelExceptionFilter); - NewPointer = InterlockedExchangePointer(&GlobalTopLevelExceptionFilter, + EncodedOldPointer = InterlockedExchangePointer(&GlobalTopLevelExceptionFilter, EncodedPointer); - return RtlDecodePointer(EncodedPointer); + return RtlDecodePointer(EncodedOldPointer); } /*