Re: user32: Set correct caret state in the server in SetCaretPos
Anton Baskanov <baskanov(a)gmail.com> wrote:
@@ -3040,6 +3040,10 @@ DECL_HANDLER(set_caret_info) if (req->flags & SET_CARET_STATE) { if (req->state == -1) input->caret_state = !input->caret_state; + else if (req->state == -2 && + (req->x != reply->old_rect.left || + req->y != reply->old_rect.top)) + input->caret_state = 1; else input->caret_state = !!req->state; }
If state == -2 but the additional logic won't match this would fall into unexpected 3rd case. -- Dmitry.
Thanks! I've resent the patch. On Sun, Dec 20, 2015 at 5:15 PM, Dmitry Timoshkov <dmitry(a)baikal.ru> wrote:
Anton Baskanov <baskanov(a)gmail.com> wrote:
@@ -3040,6 +3040,10 @@ DECL_HANDLER(set_caret_info) if (req->flags & SET_CARET_STATE) { if (req->state == -1) input->caret_state = !input->caret_state; + else if (req->state == -2 && + (req->x != reply->old_rect.left || + req->y != reply->old_rect.top)) + input->caret_state = 1; else input->caret_state = !!req->state; }
If state == -2 but the additional logic won't match this would fall into unexpected 3rd case.
-- Dmitry.
participants (2)
-
Anton Baskanov -
Dmitry Timoshkov