Author: pschweitzer Date: Thu Mar 15 20:56:26 2012 New Revision: 56160
URL: http://svn.reactos.org/svn/reactos?rev=56160&view=rev Log: [KBSWITCH] Properly use the single instance mutex
Modified: trunk/reactos/base/applications/kbswitch/kbswitch.c
Modified: trunk/reactos/base/applications/kbswitch/kbswitch.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/kbswitch/... ============================================================================== --- trunk/reactos/base/applications/kbswitch/kbswitch.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/kbswitch/kbswitch.c [iso-8859-1] Thu Mar 15 20:56:26 2012 @@ -519,8 +519,14 @@ HANDLE hMutex;
hMutex = CreateMutex(NULL, FALSE, szKbSwitcherName); - if ((!hMutex) || (GetLastError() == ERROR_ALREADY_EXISTS)) + if (!hMutex) return 1; + + if (GetLastError() == ERROR_ALREADY_EXISTS) + { + CloseHandle(hMutex); + return 1; + }
hInst = hInstance; hProcessHeap = GetProcessHeap(); @@ -537,7 +543,10 @@ WndClass.lpszClassName = szKbSwitcherName;
if (!RegisterClass(&WndClass)) + { + CloseHandle(hMutex); return 1; + }
CreateWindow(szKbSwitcherName, NULL, 0, 0, 0, 1, 1, HWND_DESKTOP, NULL, hInstance, NULL);
@@ -547,7 +556,7 @@ DispatchMessage(&msg); }
- if (hMutex) CloseHandle(hMutex); + CloseHandle(hMutex);
return 0; }