X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/3da0b1d2851d9ab4e15bf611be157ab3a8b33e75..cbc3272bf34cfa54e7e5ba52eb65b875967c7a6c:/window.c?ds=inline diff --git a/window.c b/window.c index b9f509e7..5dab8df4 100644 --- a/window.c +++ b/window.c @@ -426,6 +426,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) { caretbm = CreateBitmap(font_width, font_height, 1, 1, bits); sfree(bits); } + CreateCaret(hwnd, caretbm, font_width, font_height); /* * Initialise the scroll bar. @@ -1170,8 +1171,11 @@ static LRESULT CALLBACK WndProc (HWND hwnd, UINT message, { int prev_alwaysontop = cfg.alwaysontop; int need_setwpos = FALSE; + int old_fwidth, old_fheight; cfg.width = cols; cfg.height = rows; + old_fwidth = font_width; + old_fheight = font_height; if (!do_reconfig(hwnd)) break; just_reconfigged = TRUE; @@ -1249,6 +1253,8 @@ static LRESULT CALLBACK WndProc (HWND hwnd, UINT message, if (cfg.height != rows || cfg.width != cols || + old_fwidth != font_width || + old_fheight != font_height || cfg.savelines != savelines) need_setwpos = TRUE; term_size(cfg.height, cfg.width, cfg.savelines); @@ -1398,7 +1404,7 @@ static LRESULT CALLBACK WndProc (HWND hwnd, UINT message, return 0; case WM_SETFOCUS: has_focus = TRUE; - CreateCaret(hwnd, caretbm, 0, 0); + CreateCaret(hwnd, caretbm, font_width, font_height); ShowCaret(hwnd); compose_state = 0; term_out();