Handle corner case: soft-cursor is invisible + OS-cursor is visible.

This commit is contained in:
Yao Wei Tjong 姚伟忠 2014-04-12 21:47:45 +08:00
Родитель 2c672b154b
Коммит 3897718a40
1 изменённых файлов: 6 добавлений и 2 удалений

Просмотреть файл

@ -888,16 +888,20 @@ UIElement* UI::GetFocusableElement(UIElement* element)
void UI::GetCursorPositionAndVisible(IntVector2& pos, bool& visible)
{
if (cursor_)
// Prefer software cursor then OS-specific cursor
if (cursor_ && cursor_->IsVisible())
{
pos = cursor_->GetPosition();
visible = cursor_->IsVisible();
visible = true;
}
else
{
Input* input = GetSubsystem<Input>();
pos = input->GetMousePosition();
visible = input->IsMouseVisible();
if (!visible && cursor_)
pos = cursor_->GetPosition();
}
}