]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - mac/macterm.c
rm some magic numbers in ssh_setup_portfwd()
[PuTTY.git] / mac / macterm.c
index 78efa65fe2fa63ab297b8488e234550494e1427c..d5a6014d1a2b258ab1541d6632916de6aff2f5cf 100644 (file)
@@ -1012,14 +1012,26 @@ static pascal void mac_growtermdraghook(void)
 
 void mac_closeterm(WindowPtr window)
 {
+    int alertret;
     Session *s = mac_windowsession(window);
 
-    /* XXX warn on close */
+    if (s->cfg.warn_on_close && !s->session_closed) {
+       ParamText("\pAre you sure you want to close this session?",
+                 NULL, NULL, NULL);
+       alertret=CautionAlert(wQuestion, NULL);
+       if (alertret == 2) {
+           /* Cancel */
+           return;
+       }
+    }
+
     HideWindow(s->window);
     *s->prev = s->next;
     s->next->prev = s->prev;
-    ldisc_free(s->ldisc);
-    s->back->free(s->backhandle);
+    if (s->ldisc)
+       ldisc_free(s->ldisc);
+    if (s->back)
+       s->back->free(s->backhandle);
     log_free(s->logctx);
     if (s->uni_to_font != NULL)
        DisposeUnicodeToTextInfo(&s->uni_to_font);