Run Winelib applications as 32-bit processes in the initial task. Simplified/removed several special 'if (__winelib)' cases in Wine main code obsoleted by that change.
diff --git a/misc/callback.c b/misc/callback.c index 3907fc3..1305961 100644 --- a/misc/callback.c +++ b/misc/callback.c
@@ -9,6 +9,7 @@ #include "windows.h" #include "callback.h" #include "task.h" +#include "syslevel.h" /********************************************************************** @@ -232,6 +233,17 @@ } /********************************************************************** + * CALLBACK_CallTaskRescheduleProc + */ +static void WINAPI CALLBACK_CallTaskRescheduleProc( void ) +{ + SYSLEVEL_EnterWin16Lock(); + TASK_Reschedule(); + SYSLEVEL_LeaveWin16Lock(); +} + + +/********************************************************************** * CALLBACK_WinelibTable * * The callbacks function table for Winelib @@ -240,7 +252,7 @@ { CALLBACK_CallRegisterProc, /* CallRegisterShortProc */ CALLBACK_CallRegisterProc, /* CallRegisterLongProc */ - TASK_Reschedule, /* CallTaskRescheduleProc */ + CALLBACK_CallTaskRescheduleProc, /* CallTaskRescheduleProc */ NULL, /* CallFrom16WndProc */ CALLBACK_CallWndProc, /* CallWndProc */ CALLBACK_CallDriverProc, /* CallDriverProc */