diff --git a/win32ss/user/ntuser/caret.c b/win32ss/user/ntuser/caret.c index 9ab590c0b8..cec1112a45 100644 --- a/win32ss/user/ntuser/caret.c +++ b/win32ss/user/ntuser/caret.c @@ -15,6 +15,8 @@ DBG_DEFAULT_CHANNEL(UserCaret); #define MIN_CARETBLINKRATE 100 #define MAX_CARETBLINKRATE 10000 +static INT CaretInit = 0; + /* FUNCTIONS *****************************************************************/ VOID FASTCALL @@ -38,6 +40,13 @@ co_IntDrawCaret(PWND pWnd, PTHRDCARETINFO CaretInfo) return; } + if (CaretInit < 2 ) + { + TRACE("CaretInit Return and CaretInit is %d.\n", CaretInit); + CaretInit += 1; + return; + } + if (pWnd->hrgnUpdate) { NtGdiSaveDC(hdc); @@ -363,6 +372,8 @@ NtUserCreateCaret( ThreadQueue->CaretInfo.Visible = 0; ThreadQueue->CaretInfo.Showing = 0; + CaretInit = 0; + IntSetTimer( Window, IDCARETTIMER, gpsi->dtCaretBlink, CaretSystemTimerProc, TMRF_SYSTEM ); IntNotifyWinEvent(EVENT_OBJECT_CREATE, Window, OBJID_CARET, CHILDID_SELF, 0);