mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-12-23 14:03:40 +00:00
[client] egl: fix cursor handling when invalidating
If we invalidate the window, we used to not update this->cursorLast, and this causes us to lose track of the cursor. Now we update this->cursorLast unconditionally, and this fixes the issue.
This commit is contained in:
parent
90b90e667a
commit
b3b71d6f02
@ -960,8 +960,6 @@ static bool egl_render(void * opaque, LG_RendererRotate rotate, const bool newFr
|
|||||||
if (cursorState.visible)
|
if (cursorState.visible)
|
||||||
damage[damageIdx++] = cursorState.rect;
|
damage[damageIdx++] = cursorState.rect;
|
||||||
|
|
||||||
this->cursorLast = cursorState;
|
|
||||||
|
|
||||||
if (desktopDamage->count == -1)
|
if (desktopDamage->count == -1)
|
||||||
// -1 damage count means invalidating entire window.
|
// -1 damage count means invalidating entire window.
|
||||||
damageIdx = 0;
|
damageIdx = 0;
|
||||||
@ -987,6 +985,7 @@ static bool egl_render(void * opaque, LG_RendererRotate rotate, const bool newFr
|
|||||||
damageIdx = 0;
|
damageIdx = 0;
|
||||||
|
|
||||||
this->hadOverlay = hasOverlay;
|
this->hadOverlay = hasOverlay;
|
||||||
|
this->cursorLast = cursorState;
|
||||||
desktopDamage->count = 0;
|
desktopDamage->count = 0;
|
||||||
|
|
||||||
app_eglSwapBuffers(this->display, this->surface, damage, damageIdx);
|
app_eglSwapBuffers(this->display, this->surface, damage, damageIdx);
|
||||||
|
Loading…
Reference in New Issue
Block a user