winbase.h shouldn't be included when compiling ntdll, as it is the header for kernel32.dll.
The attached patch removes winbase.h from the server call headers, exposing a number of dependency problems in ntdll.
wine_server_call_err seems to be misplaced in wine/server.h as it uses kernel32.SetLastError(), and it is the only function which requires winebase.h to be included. Perhaps it should be converted to a macro or only defined when winbase.h is already included, as I have done in this patch?
Mike
Mike McCormack wrote:
winbase.h shouldn't be included when compiling ntdll, as it is the header for kernel32.dll.
It's shouldn't be used in server as well (except for console, window management).
The attached patch removes winbase.h from the server call headers, exposing a number of dependency problems in ntdll.
wine_server_call_err seems to be misplaced in wine/server.h as it uses kernel32.SetLastError(), and it is the only function which requires winebase.h to be included. Perhaps it should be converted to a macro or only defined when winbase.h is already included, as I have done in this patch?
Perhaps the best solution would be to get rid of wine_server_call_err and explicitely call to error code conversion routine.
Anyway, we should fix first all the problems exposed.
A+