Don't destroy the caret on SWP_HIDEWINDOW.
diff --git a/windows/winpos.c b/windows/winpos.c
index e2f56e4..7ad7139 100644
--- a/windows/winpos.c
+++ b/windows/winpos.c
@@ -2829,8 +2829,14 @@
if( winpos.flags & SWP_HIDEWINDOW )
{
wndPtr->dwStyle &= ~WS_VISIBLE;
+ }
- if (hwnd == CARET_GetHwnd()) DestroyCaret();
+ if (hwnd == CARET_GetHwnd())
+ {
+ if( winpos.flags & SWP_HIDEWINDOW )
+ HideCaret(hwnd);
+ else if (winpos.flags & SWP_SHOWWINDOW)
+ ShowCaret(hwnd);
}
/* ------------------------------------------------------------------------ FINAL */