Disable warn-on-close for inactive windows
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 21 Dec 1999 10:19:05 +0000 (10:19 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Tue, 21 Dec 1999 10:19:05 +0000 (10:19 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@357 cda61777-01e9-0310-a592-d414129be87e

putty.h
window.c

diff --git a/putty.h b/putty.h
index 7e7eca6..0d93665 100644 (file)
--- a/putty.h
+++ b/putty.h
@@ -65,6 +65,8 @@ GLOBAL int app_cursor_keys, app_keypad_keys;
 GLOBAL int seen_key_event;
 GLOBAL int seen_disp_event;
 
+GLOBAL int session_closed;
+
 typedef enum {
     US_NONE = 0, US_KEY = 1, US_DISP = 2, US_BOTH = 3
 } Unscroll_Trigger;
index a17d0b2..c4ee8de 100644 (file)
--- a/window.c
+++ b/window.c
@@ -309,6 +309,8 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) {
        set_icon (msg);
     }
 
+    session_closed = FALSE;
+
     /*
      * Set up the input and output buffers.
      */
@@ -631,7 +633,7 @@ static int WINAPI WndProc (HWND hwnd, UINT message,
       case WM_CREATE:
        break;
       case WM_CLOSE:
-       if (!cfg.warn_on_close ||
+       if (!cfg.warn_on_close || session_closed ||
            MessageBox(hwnd, "Are you sure you want to close this session?",
                       "PuTTY Exit Confirmation",
                       MB_ICONWARNING | MB_OKCANCEL) == IDOK)
@@ -878,6 +880,7 @@ static int WINAPI WndProc (HWND hwnd, UINT message,
                if (cfg.close_on_exit)
                    PostQuitMessage(0);
                else {
+                    session_closed = TRUE;
                    MessageBox(hwnd, "Connection closed by remote host",
                               "PuTTY", MB_OK | MB_ICONINFORMATION);
                    SetWindowText (hwnd, "PuTTY (inactive)");