1
0
mirror of https://github.com/valinet/ExplorerPatcher.git synced 2025-02-17 11:08:41 +01:00

Freed memory, removed output from settings manager

This commit is contained in:
Valentin Radu 2021-11-13 06:33:27 +02:00
parent 68d1efbb71
commit 1608abf6c6

View File

@ -4,8 +4,6 @@ DWORD WINAPI MonitorSettings(SettingsChangeParameters* params)
{
BOOL bShouldExit = FALSE;
HANDLE* handles = NULL;
printf("[SettingsMonitor] Started %p\n", params->settings[0].hEvent);
while (TRUE)
{
handles = calloc(sizeof(HANDLE), params->size);
@ -22,14 +20,18 @@ DWORD WINAPI MonitorSettings(SettingsChangeParameters* params)
}
else
{
InterlockedExchange(&(params->size), NULL);
free(handles);
free(params->settings);
free(params);
return 0;
}
}
params->settings[i].hEvent = CreateEventW(NULL, FALSE, FALSE, NULL);
if (!params->settings[i].hEvent)
{
InterlockedExchange(&(params->size), 0);
free(handles);
free(params->settings);
free(params);
return 0;
}
handles[i] = params->settings[i].hEvent;
@ -45,7 +47,9 @@ DWORD WINAPI MonitorSettings(SettingsChangeParameters* params)
NULL
) != ERROR_SUCCESS)
{
InterlockedExchange(&(params->size), 0);
free(handles);
free(params->settings);
free(params);
return 0;
}
if (RegNotifyChangeKeyValue(
@ -56,7 +60,9 @@ DWORD WINAPI MonitorSettings(SettingsChangeParameters* params)
TRUE
) != ERROR_SUCCESS)
{
InterlockedExchange(&(params->size), 0);
free(handles);
free(params->settings);
free(params);
return 0;
}
}
@ -104,12 +110,13 @@ DWORD WINAPI MonitorSettings(SettingsChangeParameters* params)
}
else
{
InterlockedExchange(&(params->size), 0);
free(params->settings);
free(params);
return 0;
}
}
printf("[SettingsMonitor] Ended %p\n", params->settings[0].hEvent);
InterlockedExchange(&(params->size), 0);
free(params->settings);
free(params);
return 0;
}