This is first part in a series that implements Cycle Collection for every mshtml object (dispex) and cleans up rest of the code based on it, which is obviously needed due to dynamic props and other extra object-specific refs.
In an effort to split it up as much as possible, since it already has quite a lot of restructuring and changes, some of the earlier patches will introduce temporary leaks or cyclic refs, but that's because we'll later handle them properly with the dispex CC. These shouldn't affect behavior, though, so it shouldn't pose problems for functionality.
Nodes are, initially, not changed much (other than to make it compatible with the dispex) to keep changes as small as possible. They still use their own CC mechanism and refcounting, which is hackish but that is solved in a follow-up MR, so it's temporary only.
Eventually, every object (including nodes) will use the dispex's vtbl to do its Cycle Collection, except for stuff like outer window (which is a special case).
In this first part, the objects that are using the node CC will have no-op dispex CC methods since they are using the node's, but this is temporary only.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3408
Ensured to work with both the current `klist` implementation and the one modified to use KerbQueryTicketCacheExMessage. Patch for `klist` will be sent separately.
--
v4: dlls/kerberos: Implement KerbQueryTicketCacheExMessage.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3393
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.
--
v2: configure: Use PCSC.framework when pcsclite is not available on macOS.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3389
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55283
---
It has been causing every merge request to get a GitLab CI error ever
since the move to Debian 12 on 2023-07-10. That makes the GitLab CI
pretty horrible.
If there is a quick fix for this issue then this MR can be ignored.
Otherwise, since there is no way to tell the GitLab CI that a specific
test is expected to crash or fail in a certain way, there is no other
option than to skip the test entirely until it works again.
Side-note: Finding failures in the GitLab CI logs is quite annoying. As
far as I can tell the only way not to miss any is to perform a set of
four searches:
- "Test f" -> regular failures
- "todo " -> Todo tests that unexpectedly succeed
- "ne (2" -> Timeouts (and test units with 2 failures)
- "ne (-" -> Crashes (with or without an 'unhandled exception' line)
If anyone has an emacs macro to automate this...
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3361
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.
--
v13: mshtml: add stubs for MutationObserver methods
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.
--
v12: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
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
--
v3: gdiplus: Disable StringFormatFlagsLineLimit
https://gitlab.winehq.org/wine/wine/-/merge_requests/3407
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.
--
v11: mshtml: implement window.MutationObserver with MutationObserver stub
https://gitlab.winehq.org/wine/wine/-/merge_requests/3391
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