diff --git a/dll/dll.cpp b/dll/dll.cpp index 174474d..4fef715 100644 --- a/dll/dll.cpp +++ b/dll/dll.cpp @@ -129,23 +129,23 @@ STEAMAPI_API ISteamClient *g_pSteamClientGameServer; ISteamClient *g_pSteamClientGameServer; #endif -static Steam_Client *client; +static Steam_Client *steamclient_instance; Steam_Client *get_steam_client() { std::lock_guard lock(global_mutex); - if (!client) { - client = new Steam_Client(); + if (!steamclient_instance) { + steamclient_instance = new Steam_Client(); } - return client; + return steamclient_instance; } void destroy_client() { std::lock_guard lock(global_mutex); - if (client) { - delete client; - client = NULL; + if (steamclient_instance) { + delete steamclient_instance; + steamclient_instance = NULL; } } @@ -416,6 +416,7 @@ STEAMAPI_API void S_CALLTYPE SteamAPI_UnregisterCallback( class CCallbackBase *p { PRINT_DEBUG("SteamAPI_UnregisterCallback %p\n", pCallback); std::lock_guard lock(global_mutex); + if (!steamclient_instance) return; get_steam_client()->UnregisterCallback(pCallback); } @@ -435,6 +436,7 @@ STEAMAPI_API void S_CALLTYPE SteamAPI_UnregisterCallResult( class CCallbackBase if (!hAPICall) return; + if (!steamclient_instance) return; get_steam_client()->UnregisterCallResult(pCallback, hAPICall); }