Fixed cookie memory leak, changed cookies to only be created once.
This commit is contained in:
@ -25,24 +25,19 @@ ClassOnCookiesCreate()
|
||||
// Forward event to sub-modules.
|
||||
ClassOverlayOnCookiesCreate();
|
||||
|
||||
// Close cookie handles if they already exist.
|
||||
if (g_hClassCookieClassSelected[ZR_CLASS_TEAM_HUMANS] != INVALID_HANDLE)
|
||||
// Create cookie handles only if they don't exist.
|
||||
if (g_hClassCookieClassSelected[ZR_CLASS_TEAM_HUMANS] == INVALID_HANDLE)
|
||||
{
|
||||
CloseHandle(g_hClassCookieClassSelected[ZR_CLASS_TEAM_HUMANS]);
|
||||
g_hClassCookieClassSelected[ZR_CLASS_TEAM_HUMANS] = RegClientCookie("zr_humanclass", "The last human class selected.", CookieAccess_Protected);
|
||||
}
|
||||
if (g_hClassCookieClassSelected[ZR_CLASS_TEAM_ZOMBIES] != INVALID_HANDLE)
|
||||
if (g_hClassCookieClassSelected[ZR_CLASS_TEAM_ZOMBIES] == INVALID_HANDLE)
|
||||
{
|
||||
CloseHandle(g_hClassCookieClassSelected[ZR_CLASS_TEAM_ZOMBIES]);
|
||||
g_hClassCookieClassSelected[ZR_CLASS_TEAM_ZOMBIES] = RegClientCookie("zr_zombieclass", "The last zombie class selected.", CookieAccess_Protected);
|
||||
}
|
||||
if (g_hClassCookieClassSelected[ZR_CLASS_TEAM_ADMINS] != INVALID_HANDLE)
|
||||
if (g_hClassCookieClassSelected[ZR_CLASS_TEAM_ADMINS] == INVALID_HANDLE)
|
||||
{
|
||||
CloseHandle(g_hClassCookieClassSelected[ZR_CLASS_TEAM_ADMINS]);
|
||||
g_hClassCookieClassSelected[ZR_CLASS_TEAM_ADMINS] = RegClientCookie("zr_adminclass", "The last admin mode class selected.", CookieAccess_Protected);
|
||||
}
|
||||
|
||||
// Create class index cookies.
|
||||
g_hClassCookieClassSelected[ZR_CLASS_TEAM_HUMANS] = RegClientCookie("zr_humanclass", "The last human class selected.", CookieAccess_Protected);
|
||||
g_hClassCookieClassSelected[ZR_CLASS_TEAM_ZOMBIES] = RegClientCookie("zr_zombieclass", "The last zombie class selected.", CookieAccess_Protected);
|
||||
g_hClassCookieClassSelected[ZR_CLASS_TEAM_ADMINS] = RegClientCookie("zr_adminclass", "The last admin mode class selected.", CookieAccess_Protected);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -76,14 +76,11 @@ ClassOverlayOnCommandsHook()
|
||||
*/
|
||||
ClassOverlayOnCookiesCreate()
|
||||
{
|
||||
// Close cookie handle if it already exist.
|
||||
if (g_hOverlayEnabledCookie != INVALID_HANDLE)
|
||||
// Create cookie handle only if it don't exist.
|
||||
if (g_hOverlayEnabledCookie == INVALID_HANDLE)
|
||||
{
|
||||
CloseHandle(g_hOverlayEnabledCookie);
|
||||
g_hOverlayEnabledCookie = RegClientCookie(CLASSOVERLAY_COOKIE_ENABLED, "The toggle state of the class overlay.", CookieAccess_Protected);
|
||||
}
|
||||
|
||||
// Create overlay cookie.
|
||||
g_hOverlayEnabledCookie = RegClientCookie(CLASSOVERLAY_COOKIE_ENABLED, "The toggle state of the class overlay.", CookieAccess_Protected);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user