[NtUser]
authorJames Tabor <james.tabor@reactos.org>
Sat, 28 Mar 2015 17:37:44 +0000 (17:37 +0000)
committerJames Tabor <james.tabor@reactos.org>
Sat, 28 Mar 2015 17:37:44 +0000 (17:37 +0000)
- Patch by Fedor Zaytsev : Fixes edit cursor, remained painted after it was removed, see CORE-2131.

svn path=/trunk/; revision=66933

reactos/win32ss/user/ntuser/caret.c

index 180ac30..b52177b 100644 (file)
@@ -137,6 +137,7 @@ co_IntHideCaret(PTHRDCARETINFO CaretInfo)
       pWnd = UserGetWindowObject(CaretInfo->hWnd);
       CaretInfo->Showing = 0;
 
+      co_IntDrawCaret(pWnd, CaretInfo);
       IntNotifyWinEvent(EVENT_OBJECT_HIDE, pWnd, OBJID_CARET, CHILDID_SELF, 0);
       return TRUE;
    }
@@ -200,9 +201,10 @@ co_IntSetCaretPos(int X, int Y)
       if(ThreadQueue->CaretInfo->Pos.x != X || ThreadQueue->CaretInfo->Pos.y != Y)
       {
          co_IntHideCaret(ThreadQueue->CaretInfo);
-         ThreadQueue->CaretInfo->Showing = 0;
+         ThreadQueue->CaretInfo->Showing = 1;
          ThreadQueue->CaretInfo->Pos.x = X;
          ThreadQueue->CaretInfo->Pos.y = Y;
+         co_IntDrawCaret(pWnd, ThreadQueue->CaretInfo);
 
          IntSetTimer(pWnd, IDCARETTIMER, gpsi->dtCaretBlink, CaretSystemTimerProc, TMRF_SYSTEM);
          IntNotifyWinEvent(EVENT_OBJECT_LOCATIONCHANGE, pWnd, OBJID_CARET, CHILDID_SELF, 0);