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:
emersion 2018-03-07 10:22:39 +01:00
parent 36dcad13d0
commit a951fbb264
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48

View file

@ -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;