I'm not sure if the GetTempPathW() dir is okay for this. d3dx11 seems to do the same in tests, so I copied that approach.
Commit message:
The wine testbot runs tests with C:\Users\Public\Documents as the
working directory. Itemdlg tests create test files in the working
directory and then try to select them for opening in an IFileOpenDialog.
The dialog has its SetFolder method called to point it to the current
working directory before showing the dialog, in order for the test code
to find the test files it had created there just before opening the
dialog.
On Windows, this failed because calling the dialog's SetFolder method
with C:\Users\Public\Documents doesn't work as expected. The dialog
points to the C:\Users\\[CURRENT_USER]\Documents directory instead.
Subsequently, the test would be unable to select the test file because
it doesn't exist in that directory. So the dialog wouldn't accept the
file and close itself to finish the test, but show an error message
instead, resulting in a test timeout.
To fix this, set the current working directory to the temporary
directory before calling individual itemdlg test_* functions. Switch
back to the previous working directory after tests finish.
--
v3: comdlg32/tests: Fix itemdlg tests on Windows.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2369
Introduction
------------
This is the first of (many) parts in the upstreaming of the Wayland driver for Wine. Since the amount of code and commits is large, my approach is to upstream the driver in multiple parts in a serial fashion, with each part being a cohesive (to the degree possible) set of not too many commits. When each part is reviewed and merged, I will move on to proposing the next part. My main goal with this approach is to make reviewing easier and more focused. If you have other ideas about how to improve this process for the reviewers, please let me know.
A lot of pieces need to fall into place before the driver becomes even remotely functional, so, some MRs (especially the initial ones) will be a bit more preparatory in nature. To aid in the understanding of and justification for some of the code introduced in such MRs, all the remaining driver commits are always going to be available at https://gitlab.winehq.org/afrantzis/wine/-/tree/wayland.
Part 1
-------
~~This MR introduces the Wayland driver PE and unixlib components with some basic code, and prepares the makedep tool to be able to handle Wayland protocol files.~~
This MR introduces the Wayland driver PE and unixlib components with some basic code, and reports some basic monitor information to Wine.
Please see the individual commit message for more details.
Some questions I would appreciate some feedback on in the context of this MR:
1. Should the Wayland driver build be enabled by default at this point? (currently it's explicitly opt-in with --with-wayland)
2. How should the Wayland driver build be integrated with CI? (currently piggybacking on gitlab/build-linux by adding --with-wayland)
Note that building the Wayland driver should not affect running/testing on X11/Xwayland etc, since it's placed lower in the driver priority list.
~~Part 2 preview: We will handle basic Wayland wl_output (i.e., display) events and populate the Wine monitor information.~~
Part 2 preview: We will report more monitor information and implement GetCurrentDisplaySettings.
--
v8: winewayland.drv: Report all advertised monitor modes to Wine.
winewayland.drv: Report basic monitor information.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2275
According to the tests in 23b72ad, when we are reading a compressed stream, the type returned by `stream_props_GetMediaType()` should reflect compressed format even if we finnally output uncomressed data. For example, if we use wmvcore reader to read a WMV3 stream and output RGB24, the format information returned by `stream_props_GetMediaType()` should be WMV3, not RGB24.
This patch set is marked as draft now, because PATCH 2 and PATCH 3 is affected by 3e8936a2 in MR !2258. So I'll submit a newer version of this after !2258 get merged.
--
v2: winegstreamer: Use codec format in stream_props_GetMediaType.
winegstreamer: Implement amt_from_wg_format_video_wmv.
winegstreamer: Implement wg_format_from_caps_video_wmv.
winegstreamer: Implement wg_parser_stream_get_codec_format.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2387
According to the tests in 23b72ad, when we are reading a compressed stream, the type returned by `stream_props_GetMediaType()` should reflect compressed format even if we finnally output uncomressed data. For example, if we use wmvcore reader to read a WMV3 stream and output RGB24, the format information returned by `stream_props_GetMediaType()` should be WMV3, not RGB24.
This patch set is marked as draft now, because PATCH 2 and PATCH 3 is affected by 3e8936a2 in MR !2258. So I'll submit a newer version of this after !2258 get merged.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2387
This patch doesn't work now. Zebediah, I think I need your help.
My goal is to get the original stream format in `stream_props_GetMediaType()`. For example, if I use wmreader to open a WMV3 stream, then this function should return WMV3 format as its result.
I expect preferred_format to hold the format I need. But test shows that preferred_format is always RGB24 even if I open a WMV stream. I found that preferred_format is written in `wg_parser.c: sink_event_cb(): case GST_EVENT_CAPS`. So it means that the caps here is "video/x-raw", not "video/x-wmv" as I expected.
So how could I get the stream format I want when I open a compressed stream using wmreader?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1945
Needed by the VR game Desperate: Vladivostok.
`IHolographicSpaceStatics2::get_IsSupported()` only returns `FALSE` on 32-bit Windows 10, but the VMs are 64-bit.
--
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2386
This series intent is to let winedbg (and dbghelp) load the 64bit PE modules
of a wow64 debuggee.
At this stage, all debug info of all modules (PE and ELF) are properly loaded
(and displayed with 'info wow share' command).
Breakpoint and backtrace in 64bit code of a wow64 debuggee are not available.
The serie contains:
- extension of tests to show that 64bit load dll events are generated for
a wow64 debuggee (for a 64bit debugger, not for a 32bit one)
- change for adapting filtering of events
I opted for doing it in ntdll and passing the machine of the mapping in
request's reply. Please advisde if you'd prefer another approach.
--
v3: server,ntdll,wow64: Move filter of (un)load DLL debug events to client side.
kernel32/tests: Extend the tests for load/unload debug events on Wow64.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2240
Previously long URI/URLs (> 1024 characters) would cause a stack corruption and crash Wine. After this MR, Wine will no longer crash but the URL is not opened either primarily due to `SHELL_Argify` limitations.
--
v2: shell32: Avoid stack corruption caused by long URLs
https://gitlab.winehq.org/wine/wine/-/merge_requests/2383
Fixes broken tests introduced in 2203a8564c5faba383a3512f8244dba12d79da16
Looks like on Windows 7, if a dll has no entry point, no tls callbacks are run. On Windows 10, the `DLL_PROCESS_ATTACH` is run but nothing else.
By having an entry point, everything is run like you'd expect
Also changes the tests to test the full set of process/thread attach/detach
--
v4: kernel32/tests: Fix tls callback tests on Windows 7
https://gitlab.winehq.org/wine/wine/-/merge_requests/2372
This fixes a crash in `OneDriveSetup.exe`. It still doesn't install with "A supported version of Windows 10 or Windows 11 is required to proceed," but at least it doesn't crash. After this patch, we can now see the OneDrive logo, the progress bar, and the "Installing OneDrive" label.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2375
Previously long URI/URLs (> 1024 characters) would cause a stack corruption and crash Wine. After this MR, Wine will no longer crash but the URL is not opened either primarily due to `SHELL_Argify` limitations.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2383
After this and the related MRs, MS Office 365 finally loads. We see the fancy start screen, and we need modify the options to trust the folder we have our Word documents in. This works for `WINWORD.EXE`, `EXCEL.EXE` and `POWERPNT.exe`. I am able to open an existing file and view it.
This MR is limited to showing the first page or so of the Word document. It freezes with the Wine crash dialog basically the moment right after the screen is rendered. There is no backtrace in the dialog, but winedbg points to `v8jsi.dll` and so does the console output without winedbg. Creating new documents is not achieved by this MR either.
--
v3: sppc: Add stubs for MS Office.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2377
I'm not sure if the GetTempPathW() dir is okay for this. d3dx11 seems to do the same in tests, so I copied that approach.
Commit message:
The wine testbot runs tests with C:\Users\Public\Documents as the
working directory. Itemdlg tests create test files in the working
directory and then try to select them for opening in an IFileOpenDialog.
The dialog has its SetFolder method called to point it to the current
working directory before showing the dialog, in order for the test code
to find the test files it had created there just before opening the
dialog.
On Windows, this failed because calling the dialog's SetFolder method
with C:\Users\Public\Documents doesn't work as expected. The dialog
points to the C:\Users\\[CURRENT_USER]\Documents directory instead.
Subsequently, the test would be unable to select the test file because
it doesn't exist in that directory. So the dialog wouldn't accept the
file and close itself to finish the test, but show an error message
instead, resulting in a test timeout.
To fix this, set the current working directory to the temporary
directory before calling individual itemdlg test_* functions. Switch
back to the previous working directory after tests finish.
--
v2: comdlg32/tests: Fix itemdlg tests on Windows.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2369
I'm not sure if the GetTempPathW() dir is okay for this. d3dx11 seems to do the same in tests, so I copied that approach.
Commit message:
The wine testbot runs tests with C:\Users\Public\Documents as the
working directory. Itemdlg tests create test files in the working
directory and then try to select them for opening in an IFileOpenDialog.
The dialog has its SetFolder method called to point it to the current
working directory before showing the dialog, in order for the test code
to find the test files it had created there just before opening the
dialog.
On Windows, this failed because calling the dialog's SetFolder method
with C:\Users\Public\Documents doesn't work as expected. The dialog
points to the C:\Users\\[CURRENT_USER]\Documents directory instead.
Subsequently, the test would be unable to select the test file because
it doesn't exist in that directory. So the dialog wouldn't accept the
file and close itself to finish the test, but show an error message
instead, resulting in a test timeout.
To fix this, set the current working directory to the temporary
directory before calling individual itemdlg test_* functions. Switch
back to the previous working directory after tests finish.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2369
This fixes a bug where after a sync source is assigned to a filter graph, subsequent filters added to the graph are not given the assigned sync source. This behaviour is expected by the game "Nioh: The Complete Edition", where multiple videos are rendered using the same filter graph.
--
v2: quartz: Update sync source when running or pausing a filter graph.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2373
This allows Microsoft `OfficeSetup.exe` 365 to succeed again. It needs to be used with the revert described in https://bugs.winehq.org/show_bug.cgi?id=54667 . `OneDriveSetup.exe` crashes right after as before, but the Office 365 files get installed into the prefix.
--
v5: sppc: Stub SLInstallLicense().
sppc: Stub SLGetSLIDList().
sppc: Declare implemented functions in slpublic.h
https://gitlab.winehq.org/wine/wine/-/merge_requests/2374
After this and the related MRs, MS Office 365 finally loads. We see the fancy start screen, and we need modify the options to trust the folder we have our Word documents in. This works for `WINWORD.EXE`, `EXCEL.EXE` and `POWERPNT.exe`. I am able to open an existing file and view it.
This MR is limited to showing the first page or so of the Word document. It freezes with the Wine crash dialog basically the moment right after the screen is rendered. There is no backtrace in the dialog, but winedbg points to `v8jsi.dll` and so does the console output without winedbg. Creating new documents is not achieved by this MR either.
--
v2: sppc: Add stubs for MS Office.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2377
After this and the related MRs, MS Office 365 finally loads. We see the fancy start screen, and we need modify the options to trust the folder we have our Word documents in. This works for `WINWORD.EXE`, `EXCEL.EXE` and `POWERPNT.exe`. I am able to open an existing file and view it.
This MR is limited to showing the first page or so of the Word document. It freezes with the Wine crash dialog basically the moment right after the screen is rendered. There is no backtrace in the dialog, but winedbg points to `v8jsi.dll` and so does the console output without winedbg. Creating new documents is not achieved by this MR either.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2377
On Sat Mar 11 09:34:54 2023 +0000, Olivia/Isabelle Mahadevan wrote:
> Any updates?
Sorry. Between the time I initially submitted this and now, I got a new job, so I haven't been able to work on this much.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/131#note_26707
This fixes a bug where after a sync source is assigned to a filter graph, subsequent filters added to the graph are not given the assigned sync source. This behaviour is expected by the game "Nioh: The Complete Edition", where multiple videos are rendered using the same filter graph.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2373
On Wed Sep 21 04:38:18 2022 +0000, **** wrote:
> Zebediah Figura replied on the mailing list:
> ```
> On 9/19/22 15:51, Etaash Mathamsetty (@etaash.mathamsetty) wrote:
> > On Mon Sep 19 20:51:28 2022 +0000, Alexandre Julliard wrote:
> >> This should be handled already by LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR. If
> >> that doesn't work in your case you'll need to investigate why, but we
> >> can't change the global search path for this.
> > as far as I can tell LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR is for
> LoadLibrary not the private search_dll_file function in loader.c (which
> is where the problem originates from)
> >
> search_dll_file() is called by LoadLibrary() under normal circumstances.
> What call stack are you seeing that's not covered by this case?
> ```
the program doesn't actually call LoadLibrary, instead it was linked with cng.sys
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/842#note_26702
MR opened for getting Windows 7 testbot runs, will turn into an actual MR when everything is confirmed working.
--
v3: kernel32/tests: Fix tls callback tests on Windows 7
https://gitlab.winehq.org/wine/wine/-/merge_requests/2372
On Fri Mar 10 19:38:50 2023 +0000, Davide Beatrici wrote:
> The idea would be to add a function to the unixlib that returns the
> render and capture GUIDs. `mmdevapi` will take care of reading and
> writing from/to the registry.
Actually, I just realized only `winepulse` defines a GUID for the default render and capture device...
Should we do that in the other drivers too?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2364#note_26687
Add support for `UIAutomationType_ElementArray` properties in the COM API, and begin adding support for creating elements from cache requests in the COM API.
--
v2: uiautomationcore: Implement IUIAutomationElement::BuildUpdatedCache.
uiautomationcore/tests: Add tests for IUIAutomationElement caching methods.
uiautomationcore: Implement IUIAutomation::CreateCacheRequest.
uiautomationcore: Add support for element array properties in IUIAutomationElement::GetCurrentPropertyValueEx.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2352
Manipulating the font size results in the script_cache going stale. From MSDN[1]
`The application should never pass the same handle for different fonts or different sizes.`
This is however exactly what happens when the font size changes as a result of zooming(both in and out). ScriptShape and relative functions will only inspect the hardware device context only if the required data is not cached[2] and hence the data from a previous call to these functions is retrieved even though the font size has changed hence the bug where text both doesn't wrap and doesn't paint as it should.
In patch one, I have tried to keep track of the script_cache objects alongside the relevant font.
Patch two fixes an issue where the cursor doesn't scale after zooming until after one interacts with the editor.
Signed-off-by: David Kahurani <k.kahurani(a)gmail.com>
1. https://docs.microsoft.com/en-us/windows/win32/intl/caching
2. https://docs.microsoft.com/en-us/windows/win32/intl/script-cache
--
v3: riched20: update caret on zooming
riched20: Cache script_cache alongside font cache
https://gitlab.winehq.org/wine/wine/-/merge_requests/626
Introduction
------------
This is the first of (many) parts in the upstreaming of the Wayland driver for Wine. Since the amount of code and commits is large, my approach is to upstream the driver in multiple parts in a serial fashion, with each part being a cohesive (to the degree possible) set of not too many commits. When each part is reviewed and merged, I will move on to proposing the next part. My main goal with this approach is to make reviewing easier and more focused. If you have other ideas about how to improve this process for the reviewers, please let me know.
A lot of pieces need to fall into place before the driver becomes even remotely functional, so, some MRs (especially the initial ones) will be a bit more preparatory in nature. To aid in the understanding of and justification for some of the code introduced in such MRs, all the remaining driver commits are always going to be available at https://gitlab.winehq.org/afrantzis/wine/-/tree/wayland.
Part 1
-------
~~This MR introduces the Wayland driver PE and unixlib components with some basic code, and prepares the makedep tool to be able to handle Wayland protocol files.~~
This MR introduces the Wayland driver PE and unixlib components with some basic code, and reports some basic monitor information to Wine.
Please see the individual commit message for more details.
Some questions I would appreciate some feedback on in the context of this MR:
1. Should the Wayland driver build be enabled by default at this point? (currently it's explicitly opt-in with --with-wayland)
2. How should the Wayland driver build be integrated with CI? (currently piggybacking on gitlab/build-linux by adding --with-wayland)
Note that building the Wayland driver should not affect running/testing on X11/Xwayland etc, since it's placed lower in the driver priority list.
~~Part 2 preview: We will handle basic Wayland wl_output (i.e., display) events and populate the Wine monitor information.~~
Part 2 preview: We will report more monitor information and implement GetCurrentDisplaySettings.
--
v7: winewayland.drv: Report all advertised monitor modes to Wine.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2275
Introduction
------------
This is the first of (many) parts in the upstreaming of the Wayland driver for Wine. Since the amount of code and commits is large, my approach is to upstream the driver in multiple parts in a serial fashion, with each part being a cohesive (to the degree possible) set of not too many commits. When each part is reviewed and merged, I will move on to proposing the next part. My main goal with this approach is to make reviewing easier and more focused. If you have other ideas about how to improve this process for the reviewers, please let me know.
A lot of pieces need to fall into place before the driver becomes even remotely functional, so, some MRs (especially the initial ones) will be a bit more preparatory in nature. To aid in the understanding of and justification for some of the code introduced in such MRs, all the remaining driver commits are always going to be available at https://gitlab.winehq.org/afrantzis/wine/-/tree/wayland.
Part 1
-------
~~This MR introduces the Wayland driver PE and unixlib components with some basic code, and prepares the makedep tool to be able to handle Wayland protocol files.~~
This MR introduces the Wayland driver PE and unixlib components with some basic code, and reports some basic monitor information to Wine.
Please see the individual commit message for more details.
Some questions I would appreciate some feedback on in the context of this MR:
1. Should the Wayland driver build be enabled by default at this point? (currently it's explicitly opt-in with --with-wayland)
2. How should the Wayland driver build be integrated with CI? (currently piggybacking on gitlab/build-linux by adding --with-wayland)
Note that building the Wayland driver should not affect running/testing on X11/Xwayland etc, since it's placed lower in the driver priority list.
~~Part 2 preview: We will handle basic Wayland wl_output (i.e., display) events and populate the Wine monitor information.~~
Part 2 preview: We will report more monitor information and implement GetCurrentDisplaySettings.
--
v6: winewayland.drv: Report all advertised monitor modes to Wine.
winewayland.drv: Report basic monitor information.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2275
Introduction
------------
This is the first of (many) parts in the upstreaming of the Wayland driver for Wine. Since the amount of code and commits is large, my approach is to upstream the driver in multiple parts in a serial fashion, with each part being a cohesive (to the degree possible) set of not too many commits. When each part is reviewed and merged, I will move on to proposing the next part. My main goal with this approach is to make reviewing easier and more focused. If you have other ideas about how to improve this process for the reviewers, please let me know.
A lot of pieces need to fall into place before the driver becomes even remotely functional, so, some MRs (especially the initial ones) will be a bit more preparatory in nature. To aid in the understanding of and justification for some of the code introduced in such MRs, all the remaining driver commits are always going to be available at https://gitlab.winehq.org/afrantzis/wine/-/tree/wayland.
Part 1
-------
This MR introduces the Wayland driver PE and unixlib components with some basic code, and prepares the makedep tool to be able to handle Wayland protocol files. Please see the individual commit message for more details.
Some questions I would appreciate some feedback on in the context of this MR:
1. Should the Wayland driver build be enabled by default at this point? (currently it's explicitly opt-in with --with-wayland)
2. How should the Wayland driver build be integrated with CI? (currently piggybacking on gitlab/build-linux by adding --with-wayland)
Note that building the Wayland driver should not affect running/testing on X11/Xwayland etc, since it's placed lower in the driver priority list.
Part 2 preview: We will handle basic Wayland wl_output (i.e., display) events and populate the Wine monitor information.
--
v5: winewayland.drv: Report all advertised monitor modes to Wine.
winewayland.drv: Report basic monitor information.
win32u: Allow drivers to set the null user driver.
winewayland.drv: Perform basic per-process Wayland initialization.
winewayland.drv: Add initial unixlib stub.
winewayland.drv: Add initial driver stub.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2275
Revert "server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children."
This reverts commit 33617af8145b6fadfe41d48968a728ff57b3064b.
Apparently, the aforementioned commit might cause the expose region to
be incorrectly computed when a window transitions from invisible state
to visible state.
The commit also had caused regression in the following apps:
- Wine regedit.exe (bug 54268)
- Dn-FamiTracker (bug 52903)
- Unity Assets Bundle Extractor (same cause behind bug 52903)
It appears that the commit catalyzes discovery of hidden bugs in Wine's
window repaint logic. It's also possible that the algorithm for
computing the expose region is incomplete.
For these reasons, revert this commit for now.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54268
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52903
--
v3: Revert "server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children."
https://gitlab.winehq.org/wine/wine/-/merge_requests/2342
FFXIV depends on this. It calls SetFullscreenState when it receives WM_WINDOWPOSCHANGED. Through luck the recursion aborts after two calls. The user-visible bug is that after leaving fullscreen, the game's window is still TOPMOST because we overwrite the stored pre-fullscreen window flags.
--
v4: dxgi/tests: Test nested SetFullscreenState from the same thread.
dxgi/tests: Test nested fullscreen application from different thread.
dxgi: Catch nested SetFullscreenState invocations.
dxgi: Unlock the wined3d mutex after storing the new target.
dxgi/tests: Run test_swapchain_window_messages on d3d12.
dxgi: Call wined3d_swapchain_state_set_fullscreen in d3d12_swapchain_init.
dxgi/tests: Run test_resize_target_wndproc on d3d12 too.
dxgi/tests: Fix UnregisterClass call in test_resize_target_wndproc.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1964
This is what it looks like:

--
v7: winecfg: Add an option to enable WinRT app dark theme.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2183
On Thu Mar 9 18:05:24 2023 +0000, **** wrote:
> Marvin replied on the mailing list:
> ```
> Hi,
> It looks like your patch introduced the new failures shown below.
> Please investigate and fix them before resubmitting your patch.
> If they are not new, fixing them anyway would help a lot. Otherwise
> please ask for the known failures list to be updated.
> The tests also ran into some preexisting test failures. If you know how
> to fix them that would be helpful. See the TestBot job for the details:
> The full results can be found at:
> https://testbot.winehq.org/JobDetails.pl?Key=130422
> Your paranoid android.
> === w7u_2qxl (32 bit report) ===
> kernel32:
> loader.c:2324: Test failed: wrong tls data 'hello world' at 00C54600
> === w7u_adm (32 bit report) ===
> kernel32:
> loader.c:2324: Test failed: wrong tls data 'hello world' at 00BE4600
> === w7u_el (32 bit report) ===
> kernel32:
> loader.c:2324: Test failed: wrong tls data 'hello world' at 00C546A0
> === w7pro64 (64 bit report) ===
> kernel32:
> loader.c:2324: Test failed: wrong tls data 'hello world' at 0000000000D405F0
> ```
This is a regression in the tests when running on Windows 7.
That should have been grounds for rejection of the merge request!
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2361#note_26599
Without this patch the process will silently die.
I managed to trigger this while trying to trace Child of Light with Renderdoc,
the latter of which crashed in its own "TargetControlServerThread".
This, confusingly, manifested in the game restarting itself without the Ubisoft
overlay; apparently the game or one of its launchers was capable of recognizing
when the process had died and restarting it, but would not try to inject the
overlay a second time. I have not investigated the cause of the crash; it is not
unlikely that it resulted from the overlay injection (despite the fact that that
should only directly affect PE code.)
--
v4: ntdll: Print an error if we receive a signal not on the signal stack.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2126
And begin cleanup of several functions in preparation for their implementation. This only reverse the control flow to use early return (and cleanup variable names and traces as it's touching entire functions anyway), so that later changes wrt IME loading / freeing would be simpler.
--
v2: imm32: Reorder control flow in ImmGetConversionListW.
imm32: Reorder control flow in ImmGetConversionListA.
imm32: Reorder control flow in ImmEscapeW.
imm32: Reorder control flow in ImmEscapeA.
imm32: Reorder control flow in ImmEnumRegisterWordW.
imm32: Reorder control flow in ImmEnumRegisterWordA.
imm32: Reorder control flow in ImmConfigureIMEW.
imm32: Reorder control flow in ImmConfigureIMEA.
imm32: Rename ImmHkl to struct ime.
imm32/tests: Test undocumented ImmLoadIME / ImmFreeLayout.
imm32: Implement stubs for ImmFreeLayout and ImmLoadIME.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2354
This series intent is to let winedbg (and dbghelp) load the 64bit PE modules
of a wow64 debuggee.
At this stage, all debug info of all modules (PE and ELF) are properly loaded
(and displayed with 'info wow share' command).
Breakpoint and backtrace in 64bit code of a wow64 debuggee are not available.
The serie contains:
- extension of tests to show that 64bit load dll events are generated for
a wow64 debuggee (for a 64bit debugger, not for a 32bit one)
- change for adapting filtering of events
I opted for doing it in ntdll and passing the machine of the mapping in
request's reply. Please advisde if you'd prefer another approach.
--
v2: server: Generate dll events for 64bit DLLs in Wow64.
kernel32/tests: Extend the tests for load/unload debug events on Wow64.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2240