On 21.12.2015 07:04, Anton Baskanov wrote:
You are right, this would fix the issue, but the Windows behavior is different. The caret remains in it's current state if it's position is unchanged. I've attached a simple test application that demonstrates this. It calls SetCaretPos on mouse button press with different positions for left and right buttons.
Thanks for providing the testcase. I didn't have time to test it on a Windows machine yet (will do that later), but under the assumption that it works as expected, your approach is indeed more correct. Nevertheless, another possible theory would be that SetCaretPos should leave the state untouched. Could you please check that, too?