screencasting: Properly disable the cursor when it exits the viewport

Otherwise it would glitch
This commit is contained in:
Aleix Pol 2022-06-22 03:04:20 +02:00
parent ed9e1e57b3
commit 9208a8eb0e

View file

@ -639,10 +639,19 @@ QRect ScreenCastStream::cursorGeometry(Cursor *cursor) const
void ScreenCastStream::sendCursorData(Cursor *cursor, spa_meta_cursor *spa_meta_cursor)
{
if (!cursor || !spa_meta_cursor || !m_cursor.viewport.contains(cursor->pos())) {
if (!cursor || !spa_meta_cursor) {
return;
}
if (!m_cursor.viewport.contains(cursor->pos())) {
spa_meta_cursor->id = 0;
spa_meta_cursor->position.x = -1;
spa_meta_cursor->position.y = -1;
spa_meta_cursor->hotspot.x = -1;
spa_meta_cursor->hotspot.y = -1;
spa_meta_cursor->bitmap_offset = 0;
return;
}
const auto position = (cursor->pos() - m_cursor.viewport.topLeft()) * m_cursor.scale;
spa_meta_cursor->id = 1;