diff options
author | Nikolay Sivov <nsivov@codeweavers.com> | 2018-10-30 21:57:33 +0300 |
---|---|---|
committer | Andrew Eikum <aeikum@codeweavers.com> | 2018-10-31 15:48:35 +0300 |
commit | 275c971b3e4f750ce776616f5bb630ad519fd5a4 (patch) | |
tree | e084ff85ce47c631dc74fe70a27f020798bc453b | |
parent | 63179d7f098a65ccf988cacb602f8466dbe86aa1 (diff) |
steamclient: Forward Steam_ReleaseThreadLocalMemory().proton-3.16beta-20181031proton-3.16-20181211
-rw-r--r-- | lsteamclient/lsteamclient.spec | 2 | ||||
-rw-r--r-- | lsteamclient/steamclient_main.c | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lsteamclient/lsteamclient.spec b/lsteamclient/lsteamclient.spec index 7dfd6fca..4bea5bc3 100644 --- a/lsteamclient/lsteamclient.spec +++ b/lsteamclient/lsteamclient.spec @@ -34,7 +34,7 @@ 32 stub Steam_InitiateGameConnection 33 stub Steam_LogOff 34 stub Steam_LogOn -35 stub Steam_ReleaseThreadLocalMemory +35 cdecl Steam_ReleaseThreadLocalMemory(long) 36 stub Steam_ReleaseUser 37 stub Steam_SetLocalIPBinding 38 stub Steam_TerminateGameConnection diff --git a/lsteamclient/steamclient_main.c b/lsteamclient/steamclient_main.c index 7388ca71..b168a5b6 100644 --- a/lsteamclient/steamclient_main.c +++ b/lsteamclient/steamclient_main.c @@ -89,6 +89,7 @@ static void *(*steamclient_CreateInterface)(const char *name, int *return_code); static bool (*steamclient_BGetCallback)(HSteamPipe a, CallbackMsg_t *b, int32 *c); static bool (*steamclient_GetAPICallResult)(HSteamPipe, SteamAPICall_t, void *, int, int, bool *); static bool (*steamclient_FreeLastCallback)(HSteamPipe); +static void (*steamclient_ReleaseThreadLocalMemory)(int); static int load_steamclient(void) { @@ -141,6 +142,12 @@ static int load_steamclient(void) return 0; } + steamclient_ReleaseThreadLocalMemory = wine_dlsym(steamclient_lib, "Steam_ReleaseThreadLocalMemory", NULL, 0); + if(!steamclient_ReleaseThreadLocalMemory){ + ERR("unable to load ReleaseThreadLocalMemory method\n"); + return 0; + } + return 1; } @@ -268,6 +275,16 @@ bool CDECL Steam_FreeLastCallback(HSteamPipe pipe) return steamclient_FreeLastCallback(pipe); } +void CDECL Steam_ReleaseThreadLocalMemory(int bThreadExit) +{ + TRACE("%d\n", bThreadExit); + + if(!load_steamclient()) + return; + + steamclient_ReleaseThreadLocalMemory(bThreadExit); +} + void CDECL Breakpad_SteamMiniDumpInit(uint32_t a, const char *b, const char *c) { TRACE("\n"); |