windows: SDL_IMMDevice needed more deinit code from the Win32 path.

Fixes #5919
This commit is contained in:
Ethan Lee
2022-07-15 09:46:53 -04:00
parent 37aecda2c1
commit fff34f6304
4 changed files with 32 additions and 31 deletions

View File

@@ -346,11 +346,23 @@ SDL_IMMDevice_Init(void)
void
SDL_IMMDevice_Quit(void)
{
DevIdList *devidlist;
DevIdList *next;
if (enumerator) {
IMMDeviceEnumerator_UnregisterEndpointNotificationCallback(enumerator, (IMMNotificationClient *)&notification_client);
IMMDeviceEnumerator_Release(enumerator);
enumerator = NULL;
}
WIN_CoUninitialize();
for (devidlist = deviceid_list; devidlist; devidlist = next) {
next = devidlist->next;
SDL_free(devidlist->str);
SDL_free(devidlist);
}
deviceid_list = NULL;
}
int