I've seen some cases where the X server is a bit slow to start, and I suspect it could be a reason for some rare spurious test failures. Not 100% sure but at least this should be harmless and better than leaving it to chance.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6880
On Fri Nov 22 16:13:26 2024 +0000, Gabriel Ivăncescu wrote:
> What about just using `IHTMLCommentElement2` for CharacterData's
> interface, since it exposes the exact same props that it has? I mean
> instead of the custom interface.
Sounds better but should `QI(IHTMLCommentElement2)` succeeded on text nodes?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6887#note_88536
On Fri Nov 22 16:09:59 2024 +0000, Jacek Caban wrote:
> The ugly part of forwarding to `IHTMLDOMTextNode2` is that you need to
> implement `IHTMLDOMTextNode2` in an object that's not a text node
> (comment node).
> With a private interface, we could give it a proper set of properties,
> so no hooks would be needed, and just forward to it from both
> `IHTMLDOMTextNode*` and `IHTMLCommentElement*` interfaces. We could even
> share its entire implementation with something like:
> ```
> struct HTMLCharacterData {
> IHTMLCharacterData IHTMLCharacterData_iface;
> DispatchEx *dispex; // used to forward IDispatch to comment's or
> text node's dispex
> nsIDOMCharacterData *character_data; // used for the actual implementation
> };
> ```
> You could then embed it both in both comment and text node structs and
> just use the single `IHTMLCharacterData` implementation.
What about just using `IHTMLCommentElement2` for CharacterData's interface, since it exposes the exact same props that it has? I mean instead of the custom interface.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6887#note_88535
On Fri Nov 22 15:47:04 2024 +0000, Gabriel Ivăncescu wrote:
> Other than this, only CSS-related styles/stylesheets have a similar case
> like this, but those are more convoluted.
> I also don't see how introducing a private interface helps to simplify
> it. We'd still have to expose it (and forward) in comment elements, but
> now we'd also have to expose and forward it in text nodes, making it
> actually less simple, IMO.
> But is my forwarding a good idea?
The ugly part of forwarding to `IHTMLDOMTextNode2` is that you need to implement `IHTMLDOMTextNode2` in an object that's not a text node (comment node).
With a private interface, we could give it a proper set of properties, so no hooks would be needed, and just forward to it from both `IHTMLDOMTextNode*` and `IHTMLCommentElement*` interfaces. We could even share its entire implementation with something like:
```
struct HTMLCharacterData {
IHTMLCharacterData IHTMLCharacterData_iface;
DispatchEx *dispex; // used to forward IDispatch to comment's or text node's dispex
nsIDOMCharacterData *character_data; // used for the actual implementation
};
```
You could then embed it both in both comment and text node structs and just use the single `IHTMLCharacterData` implementation.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6887#note_88534