[PATCH v4] user32: Implement GetMouseMovePointsEx().

Arkadiusz Hiler ahiler at codeweavers.com
Fri Oct 2 05:14:47 CDT 2020


On Tue, Sep 29, 2020 at 12:17:12PM +0200, Alexandre Julliard wrote:
> Rémi Bernon <rbernon at 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?

-- 
Cheers,
Arek



More information about the wine-devel mailing list