At last, merge the putty-gtk2 branch back into the trunk!
[u/mdw/putty] / mac / macabout.c
index f1fc7ff..4711b06 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: macabout.c,v 1.1 2003/02/15 16:22:15 ben Exp $ */
+/* $Id$ */
 /*
  * Copyright (c) 1999, 2002, 2003 Ben Harris
  * All rights reserved.
@@ -94,6 +94,13 @@ static void mac_updateabout(WindowPtr window)
     EndUpdate(window);
 }
 
+static void mac_closeabout(WindowPtr window)
+{
+
+    windows.about = NULL;
+    DisposeDialog(GetDialogFromWindow(window));
+}
+
 static void mac_updatelicence(WindowPtr window)
 {
     Handle h;
@@ -121,6 +128,13 @@ static void mac_updatelicence(WindowPtr window)
     EndUpdate(window);
 }
 
+static void mac_closelicence(WindowPtr window)
+{
+
+    windows.licence = NULL;
+    DisposeWindow(window);
+}
+
 void mac_openabout(void)
 {
     DialogItemType itemtype;
@@ -135,12 +149,13 @@ void mac_openabout(void)
     else {
        windows.about =
            GetDialogWindow(GetNewDialog(wAbout, NULL, (WindowPtr)-1));
-       wi = smalloc(sizeof(*wi));
+       wi = snew(WinInfo);
        memset(wi, 0, sizeof(*wi));
        wi->wtype = wAbout;
        wi->update = &mac_updateabout;
        wi->click = &mac_clickabout;
        wi->activate = &mac_activateabout;
+       wi->close = &mac_closeabout;
        SetWRefCon(windows.about, (long)wi);
        vers = (VersRecHndl)Get1Resource('vers', 1);
        if (vers != NULL && *vers != NULL) {
@@ -162,10 +177,11 @@ static void mac_openlicence(void)
        SelectWindow(windows.licence);
     else {
        windows.licence = GetNewWindow(wLicence, NULL, (WindowPtr)-1);
-       wi = smalloc(sizeof(*wi));
+       wi = snew(WinInfo);
        memset(wi, 0, sizeof(*wi));
        wi->wtype = wLicence;
        wi->update = &mac_updatelicence;
+       wi->close = &mac_closelicence;
        SetWRefCon(windows.licence, (long)wi);
        ShowWindow(windows.licence);
     }