summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qtd3dservice/d3dservice.cpp9
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;