diff --git a/main.c b/main.c index 8c477831..d1f152a2 100644 --- a/main.c +++ b/main.c @@ -697,6 +697,7 @@ static LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, char buf[200], *service_argv[] = {__argv[0], NULL}; POINT pt; HMENU hMenu; + static UINT s_uTaskbarRestart; // for taskbar creation switch (msg) { case WM_CREATE: @@ -707,6 +708,7 @@ static LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, exit(EXIT_SUCCESS); } else { start_mongoose(__argc, __argv); + s_uTaskbarRestart = RegisterWindowMessage(TEXT("TaskbarCreated")); } break; case WM_COMMAND: @@ -764,6 +766,9 @@ static LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, Shell_NotifyIcon(NIM_DELETE, &TrayIcon); PostQuitMessage(0); return 0; // We've just sent our own quit message, with proper hwnd. + default: + if (msg==s_uTaskbarRestart) + Shell_NotifyIcon(NIM_ADD, &TrayIcon); } return DefWindowProc(hWnd, msg, wParam, lParam); diff --git a/mongoose.c b/mongoose.c index dce1a370..7d1821e0 100644 --- a/mongoose.c +++ b/mongoose.c @@ -2786,7 +2786,7 @@ static void handle_file_request(struct mg_connection *conn, const char *path, r1 = r2 = 0; hdr = mg_get_header(conn, "Range"); if (hdr != NULL && (n = parse_range_header(hdr, &r1, &r2)) > 0 && - r1 >= 0 && r2 > 0) { + r1 >= 0 && r2 >= 0) { conn->status_code = 206; cl = n == 2 ? (r2 > cl ? cl : r2) - r1 + 1: cl - r1; mg_snprintf(conn, range, sizeof(range),