[client] updated to use new cursor state flags

This commit is contained in:
Geoffrey McRae 2020-01-26 17:30:16 +11:00
parent b7e4426002
commit dcc9625803
2 changed files with 24 additions and 16 deletions

View File

@ -1 +1 @@
B1-107-g687eddcc63+1
B1-109-gb7e4426002+1

View File

@ -299,18 +299,22 @@ static int cursorThread(void * unused)
}
KVMFRCursor * cursor = (KVMFRCursor *)msg.mem;
state.cursor.x = cursor->x;
state.cursor.y = cursor->y;
state.cursorVisible = cursor->visible;
state.haveCursorPos = true;
if (!state.haveAligned && state.haveSrcSize && state.haveCurLocal)
if (msg.udata & CURSOR_FLAG_POSITION)
{
alignMouseWithHost();
state.haveAligned = true;
state.cursor.x = cursor->x;
state.cursor.y = cursor->y;
state.cursorVisible = cursor->visible;
state.haveCursorPos = true;
if (!state.haveAligned && state.haveSrcSize && state.haveCurLocal)
{
alignMouseWithHost();
state.haveAligned = true;
}
}
if (msg.udata == 1)
if (msg.udata & CURSOR_FLAG_SHAPE)
{
switch(cursor->type)
{
@ -341,13 +345,17 @@ static int cursorThread(void * unused)
lgmpClientMessageDone(queue);
state.updateCursor = false;
state.lgr->on_mouse_event
(
state.lgrData,
state.cursorVisible && state.drawCursor,
state.cursor.x,
state.cursor.y
);
if (msg.udata & CURSOR_FLAG_POSITION)
{
state.lgr->on_mouse_event
(
state.lgrData,
state.cursorVisible && state.drawCursor,
state.cursor.x,
state.cursor.y
);
}
}
lgmpClientUnsubscribe(&queue);