From c559773d005d606da64d368985fa601f2ca32464 Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Fri, 6 Nov 2020 17:42:21 +0100 Subject: [PATCH] lsteamclient: Allow callbacks to be NULL Steamworks API seems to accept NULL callbacks, simply avoiding to call them when this is the case. --- lsteamclient/steamclient_wrappers.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lsteamclient/steamclient_wrappers.c b/lsteamclient/steamclient_wrappers.c index a7f2b1c6..8e29c2c6 100644 --- a/lsteamclient/steamclient_wrappers.c +++ b/lsteamclient/steamclient_wrappers.c @@ -113,6 +113,9 @@ void *create_LinuxISteamMatchmakingServerListResponse(void *win, const char *ver { struct gccServerListResponse *ret; + if (!win) + return NULL; + /* FIXME: When is it save to free this? CancelServerQuery? */ ret = (struct gccServerListResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret)); if(!ret) @@ -163,6 +166,9 @@ void *create_LinuxISteamMatchmakingPingResponse(void *win, const char *version) { struct gccPingResponse *ret; + if (!win) + return NULL; + ret = (struct gccPingResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret)); if(!ret) return NULL; @@ -217,6 +223,9 @@ void *create_LinuxISteamMatchmakingPlayersResponse(void *win, const char *versio { struct gccPlayersResponse *ret; + if (!win) + return NULL; + ret = (struct gccPlayersResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret)); if(!ret) return NULL; @@ -271,6 +280,9 @@ void *create_LinuxISteamMatchmakingRulesResponse(void *win, const char *version) { struct gccRulesResponse *ret; + if (!win) + return NULL; + ret = (struct gccRulesResponse *)HeapAlloc(GetProcessHeap(), 0, sizeof(*ret)); if(!ret) return NULL;