Builtin gdiplus behaves as documented but tests are indicating that Windows behaviour sometimes differs from the documentation.
I believe this issue is at least one of the contributing issues to bug https://bugs.winehq.org/show_bug.cgi?id=46947, if not the sole issue. I propose that this flag be disabled until it is well understood. I noticed as issue with DrawString seeming to ignore the flag sometimes(sometimes the text fits without any noticeable defects which I believe is the case with the program in the bug) and sometimes even drawing clipped text with the flag on. Other times it works as expected. I can't seem to find a pattern to identify that could be used to predict its behaviour.
Signed-off-by: David Kahurani k.kahurani(a)gmail.com
--
v2: gdiplus: Disable StringFormatFlagsLineLimit
https://gitlab.winehq.org/wine/wine/-/merge_requests/3407
Builtin gdiplus behaves as documented but tests are indicating that Windows behaviour sometimes differs from the documentation.
I believe this issue is at least one of the contributing issues to bug https://bugs.winehq.org/show_bug.cgi?id=46947, if not the sole issue. I propose that this flag be disabled until it is well understood.
Signed-off-by: David Kahurani k.kahurani(a)gmail.com
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3407
This framework is present in all macOS SDKs we support, starting at macOS 10.13 and still present in macOS Sonoma.
Getting pcsclite completely working correctly is a lot harder on macOS and this would give us better integration.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3389
This reverts commit 41cc117b3f37ab4b9b4ac8a815cd2a496d38fb4b.
This commit broke musl support.
With the changes introduced, the following code evaluates
to the #else branch without checking for SO_DEFAULT_HEADERS
resulting in an error.
server/sock.c +1888
```
\#ifdef HAS_IPX
int ipx_type = protocol - WS_NSPROTO_IPX;
\#ifdef SOL_IPX
setsockopt( sockfd, SOL_IPX, IPX_TYPE, &ipx_type, sizeof(ipx_type) );
\#else
struct ipx val;
/* Should we retrieve val using a getsockopt call and then
* set the modified one? */
val.ipx_pt = ipx_type;
setsockopt( sockfd, 0, SO_DEFAULT_HEADERS, &val, sizeof(val) );
\#endif
\#endif
```
I propose reverting the commit, but we could probably alter
the macro in the code section provided to match the changes
relevant github issue:
https://github.com/void-linux/void-packages/pull/45202
Signed-off-by: Fotios Valasiadis <fvalasiad(a)gmail.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3403
Ensured to work with both the current `klist` implementation and the one modified to use KerbQueryTicketCacheExMessage. Patch for `klist` will be sent separately.
--
v2: dlls/kerberos: Implement KerbQueryTicketCacheExMessage.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3393
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
v8: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
Signed-off-by: Jactry Zeng <jzeng(a)codeweavers.com>
--
v4: riched20: Add font fallbacks for CJK.
riched20: Add font fallback support.
riched20: Use OpenType functions for painting and generating script tags.
https://gitlab.winehq.org/wine/wine/-/merge_requests/417
--
v2: wineoss: Remove superflous check
advpack: Add nullcheck for parameter that can be null (Coverity)
mmdevapi: Add nullcheck for parameter that can be null (Coverity)
https://gitlab.winehq.org/wine/wine/-/merge_requests/3105
--
v9: vkd3d-shader/tpf: Add support for writing 'resinfo' instruction.
vkd3d-shader/tpf: Add support for writing 'sampleinfo' instruction.
vkd3d-shader/hlsl: Parse GetDimensions() method.
tests: Add some tests for GetDimensions().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/218
These APIs should take into consideration the gdi_transform when calculating font properties
Signed-off-by: David Kahurani <k.kahurani(a)gmail.com>
--
v2: gdiplus/font: Fix GdipGetLogFontW/A with gdi_transform
https://gitlab.winehq.org/wine/wine/-/merge_requests/3387
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v7: server: Replace secure_getenv() with getenv().
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
v7: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
v6: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
--
v5: vkd3d: Add a pending execution count to struct d3d12_command_signature.
tests: Test releasing the command signature immediately after use.
vkd3d: Store the command buffer in the allocator upon creation.
vkd3d: Move descriptor heap tracking to d3d12_command_list_set_descriptor_table().
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/260
Recap:
I implemented relative addressing in !229, but I was suggested to handle register indexes by moving all the registers to the heap, which I did in my [nonconst-offsets-6](https://gitlab.winehq.org/fcasas/vkd3d/-/commits/noncon… branch. A part of this implementation required !269, but I was asked to try to turn the sm4 register structs into the vkd3d-shader register structs instead, to get closer to a common low level IR.
This is the first part of that transformation. The whole thing is in my [use_vkd3d_reg](https://gitlab.winehq.org/fcasas/vkd3d/-/commits/use_vkd3d_r… branch.
This is built on top of !225 (the first two patches), so it may be good to get that upstream first.
---
This patch series aims to do the following replacements:
```
struct sm4_register -> struct vkd3d_shader_register
struct sm4_dst_register -> struct vkd3d_shader_dst_param
struct sm4_src_register -> struct vkd3d_shader_src_param
```
to get us closer to a common level IR and simplify the implementation of relative-addressing.
To achieve this, the fields in the sm4 register structs are replaced with fields in the vkd3d-shader structs or removed altogether, one at the time.
As can be seen when looking at the whole branch, it is possible to do this transformation without having to add additional fields to `struct vkd3d_shader_register`, by restricting each register type to a single `enum vkd3d_sm4_dimension` (and its src registers to a single `enum vkd3d_sm4_swizzle_type`) by default.
The only exception we need so far is for sampler registers: They always have dimension NONE, except when used as arguments of gather instructions, in which case they have dimension VEC4 and SCALAR swizzle. This, and similar exceptions we may find in the future, can be handled using the opcode_info, as in 7/8 [81e17506](https://gitlab.winehq.org/fcasas/vkd3d/-/commit/81e17506ba2cb1fbf….
--
v2: vkd3d-shader/tpf: Get rid of sm4_register.dim.
vkd3d-shader/tpf: Use 's' in src_info to expect sampler register with vec4 dimension.
vkd3d-shader/tpf: Separate dst register write function.
vkd3d-shader/tpf: Separate src register write function.
vkd3d-shader/tpf: Make register_type_table an array of structs.
vkd3d-shader/tpf: Use struct vkd3d_shader_register_index in sm4_register.idx[].
vkd3d-shader/tpf: Use enum vkd3d_shader_register_type in sm4_register.type.
vkd3d-shader/tpf: Rename VKD3D_SM4_SWIZZLE_NONE as VKD3D_SM4_SWIZZLE_MASK4.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/281
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
v5: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v6: server: Replace secure_getenv() with getenv().
server: Try isolate wineserver directory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v5: server: Try isolate wineserver directory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
v4: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
v3: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
v2: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
This get us pass the "Update your browser" blocker in adobe's sign-in page. The page itself doesn't make use of `window.MutationObserver`.
However the sign-in page is still broken.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
This MR fixes WRC9 crashing on start with builtin xinput, since the game uses UWP xinput the ordinal numbers don't match up, so I decided to put these new exports with `@ stdcall` instead.
When running winedump on the windows native dll, they don't have these exports at all :/
--
v2: xinput1_3: Add stub for XInputDestroy.
xinput1_3: Add semi-stub for XInputSetStateEx.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3330
We currently try to preserve message's lparam value in win32u. This is inherited from user32 and it was needed in the past, but with !493 (and !646), this is mostly covered by leaving win32u out of winproc calls whenever possible. According to tests, native win32k almost never attempts to preserve lparam and copies its content instead (with a few exceptions for messages passing strings). Implementing that in Wine will provide a nice way to fix problem from bug 55152.
This is the first patch in the series that will implement it. Since user callback requirements are different than server communication, the series incrementally decouples them. I created https://gitlab.winehq.org/jacek/wine/-/commits/win32u-msg/ with complete conversion for a better context.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3388
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v4: server: Try isolate wineserver directory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v3: server: Try isolate wineserver directory.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
The read and pread syscalls are permitted to return fewer bytes than requested (unlike the fread libc call which will only perform a short read on error or EOF). This is most likely to occur when binaries are located on slower filesystems (e.g. NFS or 9pfs)
ffab9d9 is a relatively recent regression here, but a lot of the code appears to be much older (e.g. the read call in 341b7dc)
In this MR I've focused on ntdll, but I see a lot of similar mishandling of the pread return value in `server/`. I will raise a bug as I don't intend to create a follow up MR at this time.
--
v2: ntdll: Correctly handle pread short reads
https://gitlab.winehq.org/wine/wine/-/merge_requests/3390
The read and pread syscalls are permitted to return fewer bytes than requested (unlike the fread libc call which will only perform a short read on error or EOF). This is most likely to occur when binaries are located on slower filesystems (e.g. NFS or 9pfs)
ffab9d9 is a relatively recent regression here, but a lot of the code appears to be much older (e.g. the read call in 341b7dc)
In this MR I've focused on ntdll, but I see a lot of similar mishandling of the pread return value in `server/`. I will raise a bug as I don't intend to create a follow up MR at this time.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3390
try following locations for wineserver directory:
- `${XDG_RUNTIME_DIR}/wine`
- `/run/user/${uid}/wine`
- `${TMPDIR}/wine` - only if `${TMPDIR}` is owned by user
- `${TMPDIR}/.wine-${uid}`
- `/tmp/.wine-${uid}`
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39013
Signed-off-by: Konstantin Demin <rockdrilla(a)gmail.com>
--
v2: server: Avoid wineserver directory race.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3381
On Wed Jul 19 19:55:17 2023 +0000, Davide Beatrici wrote:
> The function declaration. For that reason I believe it's not worth
> removing the comment, as it's only going to increase the amount of
> changes in the commit/MR.
!3380
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3260#note_39797
I suspect the intent of this test was to verify that httpapi really doesn't bind
to that port. That HttpAddUrlToUrlGroup() fails implies this, but paranoia in a
case like this is rarely unwarranted.
However, this test cannot reliably succeed; some other operating system
component may open a TCP port in the meantime, and it appears that on Windows 10
this does in fact happen.
Since the goal of the test is just extra paranoia, I don't think it's worth
keeping.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55127
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3378