X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=gui.cpp;h=d85e9c0c6160bd9cc54d3cba5cfb7421ecbf7d34;hb=2bc7df40fe52fe9e86e382926f7653b55ee02038;hp=692fb9bae5289ddd533a2a0412786e152dd9d0aa;hpb=4798232daef193da47e021879f1f6653137be8bb;p=nssm.git diff --git a/gui.cpp b/gui.cpp index 692fb9b..d85e9c0 100644 --- a/gui.cpp +++ b/gui.cpp @@ -153,6 +153,9 @@ int nssm_gui(int resource, nssm_service_t *service) { if (! (service->stop_method & NSSM_STOP_METHOD_TERMINATE)) { SendDlgItemMessage(tablist[NSSM_TAB_SHUTDOWN], IDC_METHOD_TERMINATE, BM_SETCHECK, BST_UNCHECKED, 0); } + if (! service->kill_process_tree) { + SendDlgItemMessage(tablist[NSSM_TAB_SHUTDOWN], IDC_KILL_PROCESS_TREE, BM_SETCHECK, BST_UNCHECKED, 0); + } /* Restart tab. */ SetDlgItemInt(tablist[NSSM_TAB_EXIT], IDC_THROTTLE, service->throttle_delay, 0); @@ -545,6 +548,8 @@ int configure(HWND window, nssm_service_t *service, nssm_service_t *orig_service check_number(tablist[NSSM_TAB_SHUTDOWN], IDC_KILL_CONSOLE, &service->kill_console_delay); check_number(tablist[NSSM_TAB_SHUTDOWN], IDC_KILL_WINDOW, &service->kill_window_delay); check_number(tablist[NSSM_TAB_SHUTDOWN], IDC_KILL_THREADS, &service->kill_threads_delay); + if (SendDlgItemMessage(tablist[NSSM_TAB_SHUTDOWN], IDC_KILL_PROCESS_TREE, BM_GETCHECK, 0, 0) & BST_CHECKED) service->kill_process_tree = 1; + else service->kill_process_tree = 0; /* Get exit action stuff. */ check_number(tablist[NSSM_TAB_EXIT], IDC_THROTTLE, &service->throttle_delay); @@ -1070,6 +1075,7 @@ INT_PTR CALLBACK nssm_dlg(HWND window, UINT message, WPARAM w, LPARAM l) { SendDlgItemMessage(tablist[NSSM_TAB_SHUTDOWN], IDC_METHOD_THREADS, BM_SETCHECK, BST_CHECKED, 0); SetDlgItemInt(tablist[NSSM_TAB_SHUTDOWN], IDC_KILL_THREADS, NSSM_KILL_THREADS_GRACE_PERIOD, 0); SendDlgItemMessage(tablist[NSSM_TAB_SHUTDOWN], IDC_METHOD_TERMINATE, BM_SETCHECK, BST_CHECKED, 0); + SendDlgItemMessage(tablist[NSSM_TAB_SHUTDOWN], IDC_KILL_PROCESS_TREE, BM_SETCHECK, BST_CHECKED, 1); /* Restart tab. */ tab.pszText = message_string(NSSM_GUI_TAB_EXIT);