Anton Baskanov <baskanov@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.