output: don't move hidden cursors
When using the DRM backend and multiple outputs, that reduces the number of commits.
This commit is contained in:
parent
36dcad13d0
commit
a951fbb264
|
@ -846,12 +846,18 @@ bool wlr_output_cursor_move(struct wlr_output_cursor *cursor,
|
||||||
output_cursor_damage_whole(cursor);
|
output_cursor_damage_whole(cursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool was_visible = cursor->visible;
|
||||||
x *= cursor->output->scale;
|
x *= cursor->output->scale;
|
||||||
y *= cursor->output->scale;
|
y *= cursor->output->scale;
|
||||||
cursor->x = x;
|
cursor->x = x;
|
||||||
cursor->y = y;
|
cursor->y = y;
|
||||||
output_cursor_update_visible(cursor);
|
output_cursor_update_visible(cursor);
|
||||||
|
|
||||||
|
if (!was_visible && !cursor->visible) {
|
||||||
|
// Cursor is still hidden, do nothing
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (cursor->output->hardware_cursor != cursor) {
|
if (cursor->output->hardware_cursor != cursor) {
|
||||||
output_cursor_damage_whole(cursor);
|
output_cursor_damage_whole(cursor);
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue