Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v33: win32u: Add SNI driver for systray handling
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808
On Mon Dec 4 11:24:24 2023 +0000, Giovanni Mascellani wrote:
> Currently we push the debug context when entering a section and pop it
> just before entering the following one. It would be enough to keep doing
> this for all except for the `[test]` section, and push and pull at each
> line inside a `[test]` section. Does this make sense for you?
Yep, and I have a working sketch locally. Pushing ...
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/499#note_54891
This series mainly:
- tests and implement fixes for GetStartupInfoW:
+ it should transform PEB's RTL_USER_PROCESS_PARAMETERS on the
fly (instead of caching the results as GetStartupInfoA)
+ it doesn't set all the fields of returned in STARTUPINFOW
(unlike GetStartupInfoA)
- no longer allow console and console handles for non CUI apps:
+ forbid inheritance of console handles for non CUI apps
+ don't create a unix console for initial (non CUI) app
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4573
Here's a list of usages of `base.outer_window` that may be impacted by the change and my analysis/fixes. Note that I specifically did not look for `document->outer_window` since that one was already holding it forever, so it's out of scope for this MR (whether it's correct or not, the behavior is the same after this MR).
I also didn't consider some cases that already **did not check** for it being NULL or not, because they would have crashed earlier before anyway (they'd still crash now if outer window gets killed, but it's out of scope of the MR as I said). For those that says "Handled" it means I've added checks so that the behavior is same as before, i.e. detached inner windows behave as if outer window is NULL.
* `htmldoc.c/HTMLDocument_get_mimeType`: Changed so it doesn't rely on outer window.
* `htmldoc.c/HTMLDocument7_get_defaultView`: This is actually fixed by these patches.
* `htmlform.c/HTMLFormElement_submit`: Handled.
* `htmlstorage.c/send_storage_event`: Fixed in a separate patch with tests, since it follows the outer window.
* `htmlwindow.c/check_target_origin`: This (along with many other methods) can't have it NULL anymore or detached, since the caller must hold a ref to the outer window, and they're not called from our objects holding ref to inner window only.
* `htmlwindow.c/HTMLWindowSP_QueryService`: This uses the outer window to obtain the browser and the doc obj, so it's fine.
* `mutation.c/set_document_mode`: Handled.
* `navigate.c/BindCallbackRedirect_Redirect`: Handled.
* `navigate.c/nsAsyncVerifyRedirectCallback_OnRedirectVerifyCallback`: Handled.
* `navigate.c/nsChannelBSC_init_bindinfo`: Uses the outer window to obtain the browser and doc obj to set a flag, so it's harmless and probably correct this way.
* `navigate.c/handle_navigation_error`: Handled.
* `navigate.c/handle_extern_mime_navigation`: Handled.
* `omnavigator.c/OmHistory_get_length`: This is actually fixed by these patches.
* `script.c/ActiveScriptSite_GetItemInfo`: Handled.
* `script.c/ActiveScriptSiteWindow_GetWindow`: Handled.
--
v7: mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml: Don't rely on the outer_window in document.mimeType.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4380
We often use "native" to talk about Windows "native" code, which is confusing here.
The unwrapping is also broken and always unwraps client handles to driver handles in the thunks, if they are wrapped. This currently forces every function that may be needing unwrapping to be handled in the drivers to unwrap the handles, which will be an issue if we intend to wrap VkSwapchainKHR in the drivers (which might be useful), and which requires to implement a lot of pass-through VkSurfaceKHR entry points.
--
v2: winevulkan: Remove unnecessary dispatch from make_vulkan.
winevulkan: Omit defaults in make_vulkan FUNCTION_OVERRIDES.
winewayland: Use "host" intead of "native" in vulkan wrappers.
winemac: Use "host" instead of "native" in vulkan wrappers.
winex11: Use "host" instead of "native" in vulkan wrappers.
winevulkan: Use "host" more consistently instead of "native".
https://gitlab.winehq.org/wine/wine/-/merge_requests/4572
Here's a list of usages of `base.outer_window` that may be impacted by the change and my analysis/fixes. Note that I specifically did not look for `document->outer_window` since that one was already holding it forever, so it's out of scope for this MR (whether it's correct or not, the behavior is the same after this MR).
I also didn't consider some cases that already **did not check** for it being NULL or not, because they would have crashed earlier before anyway (they'd still crash now if outer window gets killed, but it's out of scope of the MR as I said). For those that says "Handled" it means I've added checks so that the behavior is same as before, i.e. detached inner windows behave as if outer window is NULL.
* `htmldoc.c/HTMLDocument_get_mimeType`: Changed so it doesn't rely on outer window.
* `htmldoc.c/HTMLDocument7_get_defaultView`: This is actually fixed by these patches.
* `htmlform.c/HTMLFormElement_submit`: Handled.
* `htmlstorage.c/send_storage_event`: Fixed in a separate patch with tests, since it follows the outer window.
* `htmlwindow.c/check_target_origin`: This (along with many other methods) can't have it NULL anymore or detached, since the caller must hold a ref to the outer window, and they're not called from our objects holding ref to inner window only.
* `htmlwindow.c/HTMLWindowSP_QueryService`: This uses the outer window to obtain the browser and the doc obj, so it's fine.
* `mutation.c/set_document_mode`: Handled.
* `navigate.c/BindCallbackRedirect_Redirect`: Handled.
* `navigate.c/nsAsyncVerifyRedirectCallback_OnRedirectVerifyCallback`: Handled.
* `navigate.c/nsChannelBSC_init_bindinfo`: Uses the outer window to obtain the browser and doc obj to set a flag, so it's harmless and probably correct this way.
* `navigate.c/handle_navigation_error`: Handled.
* `navigate.c/handle_extern_mime_navigation`: Handled.
* `omnavigator.c/OmHistory_get_length`: This is actually fixed by these patches.
* `script.c/ActiveScriptSite_GetItemInfo`: Handled.
* `script.c/ActiveScriptSiteWindow_GetWindow`: Handled.
--
v6: mshtml/tests: Fix XHR leak in test_window_refs.
mshtml: Get rid of outer_window member in HTMLDocumentNode.
mshtml: Remove the inner window ref from the doc only when it is actually
mshtml: Don't check for NULL outer_window from within HTMLWindow* methods.
mshtml: Don't attempt to send storage events after outer window is detached.
mshtml/tests: Improve the iframe navigation test.
mshtml: Don't rely on the outer_window in document.mimeType.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4380
Adds the tray icons implementation based on org.kde.StatusNotifierItem interface usage. Does allow restarting StatusNotifierWatcher object, but will fallback to XEMBED or internal tray, if wine gets initialized when there is no StatusNotifierWatcher object registered.
--
v32: win32u: Add SNI driver for systray handling
win32u: Add a SystrayRunLoop driver interface
win32u: Refactor NotifyIcon driver interface into separate calls.
win32u: Add a ShowBalloon driver interface
https://gitlab.winehq.org/wine/wine/-/merge_requests/2808