Don't automatically close the GUI on error.
authorIain Patterson <me@iain.cx>
Fri, 15 Nov 2013 15:48:56 +0000 (15:48 +0000)
committerIain Patterson <me@iain.cx>
Fri, 15 Nov 2013 16:10:41 +0000 (16:10 +0000)
If a parameter in the GUI was missing or invalid we were closing the
dialogue and forcing the user to relaunch the installer/remover.
Instead we now loop until the service has successfully been
installed/removed or the user cancelled the operation.

gui.cpp

diff --git a/gui.cpp b/gui.cpp
index 7955b1a..c45347f 100644 (file)
--- a/gui.cpp
+++ b/gui.cpp
@@ -205,7 +205,7 @@ INT_PTR CALLBACK install_dlg(HWND window, UINT message, WPARAM w, LPARAM l) {
       switch (LOWORD(w)) {\r
         /* OK button */\r
         case IDC_OK:\r
-          PostQuitMessage(install(window));\r
+          if (! install(window)) PostQuitMessage(0);\r
           break;\r
 \r
         /* Cancel button */\r
@@ -220,7 +220,7 @@ INT_PTR CALLBACK install_dlg(HWND window, UINT message, WPARAM w, LPARAM l) {
 \r
         /* Remove button */\r
         case IDC_REMOVE:\r
-          PostQuitMessage(remove(window));\r
+          if (! remove(window)) PostQuitMessage(0);\r
           break;\r
       }\r
       return 1;\r