diff options
-rw-r--r-- | src/qtd3dservice/d3dservice.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qtd3dservice/d3dservice.cpp b/src/qtd3dservice/d3dservice.cpp index b3a29c343..06c0e9ec9 100644 --- a/src/qtd3dservice/d3dservice.cpp +++ b/src/qtd3dservice/d3dservice.cpp @@ -392,9 +392,12 @@ bool D3DService::start() qDeleteAll(workers); - foreach (HANDLE handle, waitHandles) { - if (handle) - CloseHandle(handle); + // Close the phone and emulator handles + for (int i = 0; i <= emulatorNames.size(); ++i) { + if (GetThreadId(waitHandles[i + 1])) + delete deviceWorkers.at(i); + else + CloseHandle(waitHandles[i + 1]); } return true; |