--
v4: mshtml: Move Option constructor to the window rather than the prototype.
mshtml: Move Image constructor to the window rather than the prototype.
mshtml: Validate builtin host functions in IE9+ using prototype_id rather
mshtml: Store the prototype_id of the last member that contains the needed
mshtml: Define "create" from XMLHttpRequest constructor as a jscript prop
mshtml: Don't expose "create" from Option constructor in IE9+ modes.
mshtml: Don't expose "create" from Image constructor in IE9+ modes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7779
Follow-up of !2786, which appears to have been abandoned.
--
v18: ws2_32/tests: Add test for AF_UNIX sockets.
server: Fix getsockname() and accept() on AF_UNIX sockets.
server: Introduce error when attempting to create a SOCK_DGRAM AF_UNIX socket.
server: Allow for deletion of socket files.
ws2_32: Add support for AF_UNIX sockets.
ws2_32: Add afunix.h header.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7650
This serie implements the migration of some type into the
new PDB reader.
During the migration phase (this serie and next one), the types (A)
will:
- always be loaded by old PDB reader,
- be migrated accoring to the type's tag (UDT, pointer, enum...),
one commit for each tag by:
+ storing in new PDB reader an offset to that type inside the
PDB file,
+ requesting type details directly from the file.
(A) typedef:s are handled differently than the other types, so
they'll be taken care of later on.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7844
Alexandros Frantzis (@afrantzis) commented about dlls/winewayland.drv/wayland_pointer.c:
>
> if (!(hwnd = wayland_pointer_get_focused_hwnd())) return;
> if (!(data = wayland_win_data_get(hwnd))) return;
> + if (!private) return;
>
> - wayland_surface_coords_to_window(data->wayland_surface,
> + wayland_motion_delta_to_window(data->wayland_surface,
> wl_fixed_to_double(dx),
> wl_fixed_to_double(dy),
> - (int *)&screen.x, (int *)&screen.y);
> -
> + &screen.x, &screen.y);
> wayland_win_data_release(data);
>
> + d_accum->x += screen.x;
> + d_accum->y += screen.y;
The accum x and y are accessed in two contexts: in `wayland_pointer_update_constraint` for the zeroing, and also updated here in relative motion handler. These may be running concurrently in different threads, and since access to doubles may not be atomic we ideally need to protect the variables. Especially with the suggestion below to place them in wayland_pointer instead, it's straightforward to guard these in the relative motion handler with the wayland_pointer mutex.
Note that even with the lock, there are some Wayland event races left that are harder to resolve (e.g., Thread1: relative motion handler starts running, Thread2: zero accum and destroy relative motion, Thread1: handler updates accum), but at least we won't end up with some half-updated `double` value, and the worst case is then only a very small glitch.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7806#note_101267