X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/319bfe5a459b82240e57b11f38c9f7bf2b53b6da..6732533549325e199de281cd32d8fffda4f029cd:/window.c diff --git a/window.c b/window.c index 49a7893b..4bcc2697 100644 --- a/window.c +++ b/window.c @@ -11,10 +11,12 @@ #endif #endif +#ifndef NO_MULTIMON #if WINVER < 0x0500 #define COMPILE_MULTIMON_STUBS #include #endif +#endif #include #include @@ -723,7 +725,8 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) timer_id = 0; } HideCaret(hwnd); - term_out(); + if (GetCapture() != hwnd) + term_out(); term_update(); ShowCaret(hwnd); @@ -1517,7 +1520,8 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, case WM_TIMER: if (pending_netevent) enact_pending_netevent(); - term_out(); + if (GetCapture() != hwnd) + term_out(); noise_regular(); HideCaret(hwnd); term_update(); @@ -2430,7 +2434,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, return TRUE; } default: - if (message == wm_mousewheel) { + if (message == wm_mousewheel || message == WM_MOUSEWHEEL) { int shift_pressed=0, control_pressed=0, alt_pressed=0; if (message == WM_MOUSEWHEEL) { @@ -4218,6 +4222,11 @@ void set_iconic(int iconic) */ void move_window(int x, int y) { + if (cfg.resize_action == RESIZE_DISABLED || + cfg.resize_action == RESIZE_FONT || + IsZoomed(hwnd)) + return; + SetWindowPos(hwnd, NULL, x, y, 0, 0, SWP_NOSIZE | SWP_NOZORDER); }