Moved stack switch handling (large stack) to sysdeps.c
Enable exception dispatch while on large stack.
diff --git a/include/callback.h b/include/callback.h
index 75603d3..df369eb 100644
--- a/include/callback.h
+++ b/include/callback.h
@@ -12,12 +12,11 @@
#include "wingdi.h"
#include "wine/winuser16.h"
-extern int (*IF1632_CallLargeStack)( int (*func)(void), void *arg );
+extern void SYSDEPS_SwitchToThreadStack( void (*func)(void) ) WINE_NORETURN;
+extern int SYSDEPS_CallOnLargeStack( int (*func)(void *), void *arg );
-#define CALL_LARGE_STACK(func,arg) \
- (IF1632_CallLargeStack ? \
- IF1632_CallLargeStack( (int(*)())(func), (void *)(arg) ) : \
- ((int(*)())(func))((void *)arg))
+#define CALL_LARGE_STACK( func, arg ) \
+ SYSDEPS_CallOnLargeStack( (int (*)(void *))(func), (void *)(arg) )
typedef void (*RELAY)();
extern FARPROC THUNK_Alloc( FARPROC16 func, RELAY relay );
@@ -25,8 +24,6 @@
extern BOOL THUNK_Init(void);
extern void THUNK_InitCallout(void);
-extern void CALL32_Init( void *func, void *target, void *stack ) WINE_NORETURN;
-
typedef struct
{
LONG (CALLBACK *CallRegisterShortProc)( CONTEXT86 *, INT );