Jinoh Kang (@iamahuman) commented about dlls/windows.media.speech/recognizer.c:
- TRACE("iface %p, action %p.\n", iface, action);
- hr = async_action_create(NULL, session_stop_async, action);
- EnterCriticalSection(&impl->cs);
- if (impl->worker_running && impl->worker_thread && SUCCEEDED(hr))
- {
thread = impl->worker_thread;
impl->worker_thread = INVALID_HANDLE_VALUE;
impl->worker_running = FALSE;
impl->worker_paused = FALSE;
impl->recognizer_state = SpeechRecognizerState_Idle;
- }
- else
hr = COR_E_INVALIDOPERATION;
- LeaveCriticalSection(&impl->cs);
```suggestion:-11+0 if (SUCCEEDED(hr)) { EnterCriticalSection(&impl->cs); if (impl->worker_running && impl->worker_thread) { thread = impl->worker_thread; impl->worker_thread = INVALID_HANDLE_VALUE; impl->worker_running = FALSE; impl->worker_paused = FALSE; impl->recognizer_state = SpeechRecognizerState_Idle; } else hr = COR_E_INVALIDOPERATION; LeaveCriticalSection(&impl->cs); } ```