X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=winboard%2Fwinboard.c;h=34c5cc3331ca8f71eac4cd872f6a1663a258332c;hb=53ef7482234709dc44856208bd6b9b14c4503b48;hp=e6fcb8b170b478ff489b084ef69d5e09a1fbb699;hpb=ce931eec108e83cedc54f5f0ce28a19efb70e5bb;p=xboard.git diff --git a/winboard/winboard.c b/winboard/winboard.c index e6fcb8b..34c5cc3 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -5462,6 +5462,7 @@ void UpdateICSWidth(HWND hText) TEXTMETRIC tm; RECT rc; HFONT hfont, hold_font; + LONG old_width, new_width; // get the text metrics hdc = GetDC(hText); @@ -5476,7 +5477,13 @@ void UpdateICSWidth(HWND hText) SendMessage(hText, EM_GETRECT, 0, (LPARAM)&rc); // update the width - ics_update_width((rc.right-rc.left) / tm.tmAveCharWidth); + new_width = (rc.right-rc.left) / tm.tmAveCharWidth; + old_width = GetWindowLong(hText, GWL_USERDATA); + if (new_width != old_width) + { + ics_update_width(new_width); + SetWindowLong(hText, GWL_USERDATA, new_width); + } } VOID @@ -8203,6 +8210,7 @@ ConsoleWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) wMask = SendMessage(hText, EM_GETEVENTMASK, 0, 0L); SendMessage(hText, EM_SETEVENTMASK, 0, wMask | ENM_LINK); SendMessage(hText, EM_AUTOURLDETECT, TRUE, 0L); + SetWindowLong(hText, GWL_USERDATA, 79); // initialize the text window's width return FALSE; @@ -9534,6 +9542,11 @@ DrawPosition(int fullRedraw, Board board) HDCDrawPosition(NULL, (BOOLEAN) fullRedraw, board); } +void NotifyFrontendLogin() +{ + if (hwndConsole) + UpdateICSWidth(GetDlgItem(hwndConsole, OPT_ConsoleText)); +} VOID ResetFrontEnd()