Commit b8501722 authored by Krzysztof Foltman's avatar Krzysztof Foltman Committed by Alexandre Julliard

Ensure that caret position is not reset to (0, 0) when CreateCaret is

called second time with the same window.
parent 53ccd49c
......@@ -175,11 +175,14 @@ static struct thread_input *foreground_input;
/* set the caret window in a given thread input */
static void set_caret_window( struct thread_input *input, user_handle_t win )
{
if (!win || win != input->caret)
{
input->caret_rect.left = 0;
input->caret_rect.top = 0;
input->caret_rect.right = 0;
input->caret_rect.bottom = 0;
}
input->caret = win;
input->caret_rect.left = 0;
input->caret_rect.top = 0;
input->caret_rect.right = 0;
input->caret_rect.bottom = 0;
input->caret_hide = 1;
input->caret_state = 0;
}
......@@ -1891,8 +1894,8 @@ DECL_HANDLER(set_caret_window)
reply->old_state = input->caret_state;
set_caret_window( input, get_user_full_handle(req->handle) );
input->caret_rect.right = req->width;
input->caret_rect.bottom = req->height;
input->caret_rect.right = input->caret_rect.left + req->width;
input->caret_rect.bottom = input->caret_rect.top + req->height;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment