Make the Event Log scroll down when more things appear on it
[sgt/putty] / windlg.c
index 9db775f..6967f4b 100644 (file)
--- a/windlg.c
+++ b/windlg.c
@@ -1,7 +1,13 @@
 #include <windows.h>
 #include <commctrl.h>
 #include <commdlg.h>
+#ifndef AUTO_WINSOCK
+#ifdef WINSOCK_TWO
+#include <winsock2.h>
+#else
 #include <winsock.h>
+#endif
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 
@@ -478,6 +484,7 @@ static int CALLBACK AboutProc (HWND hwnd, UINT msg,
            DialogBox (hinst, MAKEINTRESOURCE(IDD_LICENCEBOX),
                       NULL, LicenceProc);
            EnableWindow(hwnd, 1);
+            SetActiveWindow(hwnd);
            return 0;
        }
        return 0;
@@ -1467,6 +1474,7 @@ static int CALLBACK MainDlgProc (HWND hwnd, UINT msg,
        DialogBox(hinst, MAKEINTRESOURCE(IDD_ABOUTBOX),
                  GetParent(hwnd), AboutProc);
        EnableWindow(hwnd, 1);
+        SetActiveWindow(hwnd);
     }
     return GenericMainDlgProc (hwnd, msg, wParam, lParam,
                               MAIN_NPANELS, mainp, &page);
@@ -1571,9 +1579,13 @@ void logevent (char *string) {
     events[nevents] = smalloc(1+strlen(string));
     strcpy (events[nevents], string);
     nevents++;
-    if (logbox)
+    if (logbox) {
+        int count;
        SendDlgItemMessage (logbox, IDN_LIST, LB_ADDSTRING,
                            0, (LPARAM)string);
+       count = SendDlgItemMessage (logbox, IDN_LIST, LB_GETCOUNT, 0, 0);
+       SendDlgItemMessage (logbox, IDN_LIST, LB_SETCURSEL, count-1, 0);
+    }
 }
 
 void showeventlog (HWND hwnd) {