Add an error check to every setsockopt call in uxnet.c.
[sgt/putty] / windows / window.c
index 5eb1d04..38270e6 100644 (file)
@@ -2994,7 +2994,19 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
            break;
          case SB_THUMBPOSITION:
          case SB_THUMBTRACK:
-           term_scroll(term, 1, HIWORD(wParam));
+           /*
+            * Use GetScrollInfo instead of HIWORD(wParam) to get
+            * 32-bit scroll position.
+            */
+           {
+               SCROLLINFO si;
+
+               si.cbSize = sizeof(si);
+               si.fMask = SIF_TRACKPOS;
+               if (GetScrollInfo(hwnd, SB_VERT, &si) == 0)
+                   si.nTrackPos = HIWORD(wParam);
+               term_scroll(term, 1, si.nTrackPos);
+           }
            break;
        }
        break;
@@ -5330,6 +5342,22 @@ void modalfatalbox(char *fmt, ...)
     cleanup_exit(1);
 }
 
+/*
+ * Print a message box and don't close the connection.
+ */
+void nonfatal(char *fmt, ...)
+{
+    va_list ap;
+    char *stuff, morestuff[100];
+
+    va_start(ap, fmt);
+    stuff = dupvprintf(fmt, ap);
+    va_end(ap);
+    sprintf(morestuff, "%.70s Error", appname);
+    MessageBox(hwnd, stuff, morestuff, MB_ICONERROR | MB_OK);
+    sfree(stuff);
+}
+
 DECL_WINDOWS_FUNCTION(static, BOOL, FlashWindowEx, (PFLASHWINFO));
 
 static void init_flashwindow(void)