On Tue, Sep 29, 2020 at 12:17:12PM +0200, Alexandre Julliard wrote:
RĂ©mi Bernon rbernon@codeweavers.com writes:
+typedef struct +{
- unsigned int newest;
- int __pad;
- cursor_pos_t positions[64];
+} cursor_history_t;
I expect it would be cleaner without this structure, simply returning an array of points.
I will still have to keep track of "newest" on the server side... Or I can use memmove() when adding elements to history to keep the positions[] ordered. That may be too costly for something that get called this often though. Any preference?
@@ -227,6 +227,8 @@ static const struct object_ops thread_input_ops = /* pointer to input structure of foreground thread */ static unsigned int last_input_time;
+static cursor_history_t cursor_history;
This most likely needs to be per-desktop.
Turns out it's shared between Desktops, at least within the same WindowStation. I'll add tests for that.
Do we care about making sure it's not per-winstation too?