Cleaned up ConsoleWndProc (not complete, see below)
authorEric Mullins <emwine@earthlink.net>
Sat, 10 Oct 2009 17:15:50 +0000 (11:15 -0600)
committerEric Mullins <emwine@earthlink.net>
Sat, 10 Oct 2009 17:15:50 +0000 (11:15 -0600)
Using static variables this way is not appropriate.  I only addressed
hInput and hText in this commit though.  But imagine the WndProc being
used by multiple windows instead of just one, and you can see why
using static variables in this way is wrong.

winboard/winboard.c

index 6c5d0ee..5fda158 100644 (file)
@@ -8099,14 +8099,16 @@ LRESULT CALLBACK
 ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
 {\r
   static SnapData sd;\r
-  static HWND hText, hInput /*, hFocus*/;\r
-//  InputSource *is = consoleInputSource;\r
+  HWND hText, hInput;\r
   RECT rect;\r
   static int sizeX, sizeY;\r
   int newSizeX, newSizeY;\r
   MINMAXINFO *mmi;\r
   WORD wMask;\r
 \r
+  hText = GetDlgItem(hDlg, OPT_ConsoleText);\r
+  hInput = GetDlgItem(hDlg, OPT_ConsoleInput);\r
+\r
   switch (message) {\r
   case WM_NOTIFY:\r
     if (((NMHDR*)lParam)->code == EN_LINK)\r
@@ -8126,8 +8128,6 @@ ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
     break;\r
   case WM_INITDIALOG: /* message: initialize dialog box */\r
     hwndConsole = hDlg;\r
-    hText = GetDlgItem(hDlg, OPT_ConsoleText);\r
-    hInput = GetDlgItem(hDlg, OPT_ConsoleInput);\r
     SetFocus(hInput);\r
     consoleTextWindowProc = (WNDPROC)\r
       SetWindowLong(hText, GWL_WNDPROC, (LONG) ConsoleTextSubclass);\r