Exit cleanly on WM_CLOSE

This commit is contained in:
Sergey Lyubka 2012-08-16 21:58:20 +01:00
parent cf53f3da4f
commit b68b0e3e50

9
main.c
View File

@ -440,6 +440,11 @@ static LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam,
PostMessage(hWnd, WM_NULL, 0, 0);
DestroyMenu(hMenu);
break;
case WM_CLOSE:
mg_stop(ctx);
Shell_NotifyIcon(NIM_DELETE, &TrayIcon);
PostQuitMessage(0);
return 0; // We've just sent our own quit message, with proper hwnd.
}
break;
}
@ -473,10 +478,12 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR cmdline, int show) {
TrayIcon.uCallbackMessage = WM_USER;
Shell_NotifyIcon(NIM_ADD, &TrayIcon);
while (GetMessage(&msg, hWnd, 0, 0)) {
while (GetMessage(&msg, hWnd, 0, 0) > 0) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
#else
int main(int argc, char *argv[]) {