Split from https://gitlab.winehq.org/wine/wine/-/merge_requests/576 which is getting long and needs some fixing.
--
v2: winemac.drv: Avoid setting DM_POSITION on enumerated modes.
wineandroid.drv: Add missing DM_DISPLAYORIENTATION | DM_POSITION flags.
win32u: Split EnumDisplaySettingsEx into CurrentDisplaySettings entry.
wineandroid.drv: Return early on EnumDisplaySettingsEx error.
winemac.drv: Split best display mode lookup to a separate helper.
win32u: Ignore DM_POSITION mode fields for available modes.
https://gitlab.winehq.org/wine/wine/-/merge_requests/589
The following patches fix sending of the LVN_ODSTATECHANGED notification for
LVS_OWNERDATA list views, adding more refined tests in the process and
fixing various bugs.
This is v5, with the added comment in 3/6 as requested on the mailing list.
These are the patches sent as a response to v4 by Zhiyi Zhang on the mailing list, unmodified apart from 3/6 or f24f4b7fd.
---
Warning: I have had access to the Windows Research Kernel (WRK) 1.2
~10 years ago. These changes are regarding comctrl32 & tests which are NOT
part of the WRK. As outlined in https://wiki.winehq.org/Developer_FAQ this
should therefore satisfy the requirement of ONLY submitting patches to
components I have NOT had access to.
--
v7: comctl32/tests: Add more ownerdata listview tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/550
This is the very first step for merging the `mmdevdrv.c` files into a single one.
The commit strictly focuses on Linux drivers, `wine{oss,coreaudio}` will follow.
Huge thanks to @jacek and @huw for making this simple, as they took care of ELF/PE separation.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/600
This should fix the Color Converter transform regression, which cannot actually be used by the topology loader in some cases because it exposes DMO-specific RGB media types. The Video Processor must be used instead (and it has its own quirks).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/575
Patch 1.
The tests on Windows show that when the timer callback is queued behind the clock time it is queued and executed quite soon with 0-15ms delay which corresponds to default timer granularity. The timeout tolerance in the test is quite bigger to avoid a flaky test. Wine currently may execute the callback right away or delay it indefinitely depending on the time difference and current system time.
Patch 2.
It turns out when the session is paused and then restarted and all the samples were delivered to sample grabber before restart, nothing is going to request the samples again when the session is restarted. I am attaching a test in a patch which hopefully confirms how that should work. I am not including that in the patches as the test involves delays (to make sure all the async events settle at certain points) and inherently flaky. Also, _
IMFStreamSink_GetEvent(stream, ...) in the test crashes on Win7 for some unknown reason.
[0001-mf-tests-Add-test-for-pausing-and-restarting-sample-.patch](/uploads/58c1738d48b3392e7ec430a0757210d0/0001-mf-tests-Add-test-for-pausing-and-restarting-sample-.patch)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/574
--
v3: win32u: Avoid invalid access when registered device alloc failed. (Coverity)
win32u: Send the total number of registered devices to the server.
win32u: Avoid reallocating rawinput device array with zero size.
server: Avoid reallocating rawinput device array with zero size.
https://gitlab.winehq.org/wine/wine/-/merge_requests/596
On Wed Aug 3 14:09:24 2022 +0000, Akihiro Sagawa wrote:
> Got it. Good tip.
It turns out that SM_CXMIN is used only when creating an overlapped window. In other words, if a user supplies WS_CHILD or WS_POPUP style, CreateWindow won't adjust the window width to SM_CXMIN.
Nevertheless, I'll squash two patches into one to avoid regressions.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/557#note_5762
With +relay enabled under Wow64, stack unwinding during exception handling was failing when it encountered a frame in the Wow stack.
This commit fixes the issue, but I'm not sure if it's correct or if something needs to be fixed in unwinding.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/599
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v21: gitlab: Disable building image in forks.
gitlab: Build every commit in a merge request.
gitlab: Move build steps to the build-all script.
include: Add coclass SpMMAudioEnum.
sapi: Add AudioInput registry key.
webservices: Add support for receiving fault messages.
webservices: Address the request message in WsCall.
webservices/tests: Add a fault reading test for WsReadBody.
webservices: Fill in type description for WS_FAULT_TYPE if necessary in WsReadBody.
webservices: Detect when a message contains a fault in read_envelope_start.
webservices: Add support for reading WS_FAULT values.
winhttp: Avoid invalid memory access in netconn_resolve().
d2d1/commandlist: Implement FillOpacityMask() command.
d2d1: Add parameter validation to FillOpacityMask().
user32: Remove USER_CheckNotLock.
win32u: Introduce NtUserGetChildRect.
user32: Use GetClientRect in EDIT_WM_ContextMenu.
user32: Use win32u to get and set MDI client info.
user32: Store MDI client info on client heap.
win32u: Introduce NtUserGetWindowSysSubMenu.
dwrite: Add ff00-ffef range to the fallback configuration.
xactengine3_7: Return error on invalid notification value.
xactengine3_7: Implement callback for supported messages.
xactengine3_7: Record context for each notications.
xactengine3_7: Map IXACT3Wave interfaces.
xactengine3_7: Map IXACT3Cue interfaces.
xactengine3_7: Map SoundBank interfaces.
xactengine3_7: Add helper function to add entries.
d2d1: Remove warning message for glyph run description.
d2d1/commandlist: Fix primitive blend playback.
d2d1: Implement setting primitive blend mode.
include: Add newer D2D command sink interface definitions.
winevulkan: Update to VK spec version 1.3.224.
bcrypt: Add AES CFB chaining mode support.
winebus.sys/sdl: Use the 8 absolute axes supported by DIJOYSTATE2.
winegstreamer: Make IWMReader state transitions asynchronous.
winegstreamer: Leave the stream CS while waiting for a sample.
winegstreamer: Move IWMReaderCallbackAdvanced *callback_advanced to a local variable.
wmvcore/tests: Add more IWMReader_(Open|Start|Stop|Close) async checks.
include: Add UI Automation COM client interface definitions.
include: Add UI Automation Event ID definitions.
ntdll: Fix floating point and extended registers not being restored under Wow64.
wow64: Copy floating point and extended registers in copy_context_64to32.
tiff: Import upstream release 4.4.0.
mpg123: Import upstream release 1.30.2.
faudio: Import upstream release 22.08.
dwrite: Fix stretch value validation in CreateTextFormat().
ncrypt: Initial implementation for NCryptEncrypt.
bcrypt: Initial RSA encryption implementation.
bcrypt/tests: Test for BCryptEncrypt with RSA keys.
ncrypt/tests: Test for NCryptEncrypt with RSA and PKCS1 padding.
webservices: Support faults in error.
webservices: Implement error strings.
d2d1/commandlist: Update text rendering params on DrawGlyphRun().
d2d1: Add a helper for DrawGlyphRun().
d2d1/commandlist: Implement FillMesh() command.
d2d1/commandlist: Implement DrawBitmap() command.
d2d1/commandlist: Implement DrawGlyphRun() command.
d2d1/commandlist: Handle recording in RestoreDrawingState().
d2d1/commandlist: Implement SetTextRenderingParams() command.
d2d1/commandlist: Implement FillRectangle() command.
d2d1/commandlist: Implement FillGeometry() command.
d2d1/commandlist: Implement DrawRectangle() command.
d2d1/commandlist: Implement DrawGeometry() command.
d2d1/commandlist: Implement DrawLine() command.
d2d1/commandlist: Implement Clear() command.
d2d1/commandlist: Implement clipping commands recording.
d2d1/commandlist: Implement basic state recording commands.
include: Fix ID2D1CommandSink definition.
d2d1: Allow setting command list as a target.
d2d1: Add a command list object stub.
d2d1/tests: Use test context for command list test.
webservices: Write the correct headers when a request message is addressed.
webservices: Handle in/out parameters properly in WsCall.
include: Print "test succeeded" messages in colour.
include: Print "test skipped" messages in colour.
include: Print "test marked todo" messages in colour.
include: Print "succeeded inside todo block" messages in colour.
include: Allow printing test failure messages in bright red.
ntdll/tests: Add a bunch of tests for creating kernel objects with the names containing '\0'.
ntdll/tests: Fix compilation with PSDK.
wined3d: Build the device list only once in wined3d_output_find_closest_matching_mode().
dxgi: Build the device list only once in dxgi_output_get_display_mode_list().
d3d8: Cache the output mode list.
d3d9: Cache the output mode list.
wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count]().
wined3d: Factor out mode_matches_filter().
ntdll: Use correct mcontext struct on macOS under Wow64.
ddraw/tests: Add some video memory accounting tests.
ddraw: Don't account video memory for sysmem surfaces' draw textures.
winex11.drv: Constify set_current_mode DEVMODEW parameter.
winex11.drv: Iterate display settings using dmDriverExtra.
winex11.drv: Use DEVMODEW instead of x11drv_display_setting.
winex11.drv: Update devmode dmPosition instead of new_rect.
winex11.drv: Use DM_POSITION field bit to mark placed displays.
winex11.drv: Use a local desired_rect variable when placing displays.
mshtml: Implement MediaQueryList's matches prop.
mshtml: Implement MediaQueryList's media prop.
mshtml: Implement window.matchMedia() with MediaQueryList stub.
user32: Forward more scroll bar messages to win32u.
winegstreamer: Use the correct name for WMADecMediaObject DMO.
mf: Increase min_buffer_size to MF_MT_AUDIO_AVG_BYTES_PER_SECOND.
mf: Implement SAR media type required attributes checks.
winegstreamer: Set the MF_MT_AUDIO_AVG_BYTES_PER_SECOND attribute.
mf: Return MF_E_NO_MORE_TYPE from AudioRenderer GetMediaTypeByIndex.
mf/tests: Add required SAR media type attributes tests.
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/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v20: cabinet/tests: add test for GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Support WINETEST_COLOR=auto (as most other Uni\*x utils do) to
only output ANSI escape sequence when writting to a TTY.
Incentally, fix a pair of files where global variables' name clash
with CRT functions.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/577
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v19: cabinet: implement GetDllVersion function
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v18: cabinet: correctly implement DllGetVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v17: cabinet: correctly implement DllGetVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v16: cabinet/tests: add test for DllGetVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Currently if netconn_resolve() exits with timeout the async resolve_proc() is left with invalid stack reference for async (where it also assigns some data on completion). Also hostname and address referenced by async structure might also be deallocated before resolve_proc() completion.
--
v2: winhttp: Avoid invalid memory access in netconn_resolve().
https://gitlab.winehq.org/wine/wine/-/merge_requests/591
--
v2: win32u: Send the total number of registered devices to the server.
win32u: Avoid invalid access when registered device alloc failed. (Coverity)
win32u: Avoid reallocating rawinput device array with zero size.
server: Avoid reallocating rawinput device array with zero size.
https://gitlab.winehq.org/wine/wine/-/merge_requests/596
Currently if netconn_resolve() exits with timeout the async resolve_proc() is left with invalid stack reference for async (where it also assigns some data on completion). Also hostname and address referenced by async structure might also be deallocated before resolve_proc() completion.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/591
--
v2: webservices: Add support for receiving fault messages.
webservices: Address the request message in WsCall.
webservices/tests: Add a fault reading test for WsReadBody.
webservices: Fill in type description for WS_FAULT_TYPE if necessary in WsReadBody.
webservices: Detect when a message contains a fault in read_envelope_start.
webservices: Add support for reading WS_FAULT values.
https://gitlab.winehq.org/wine/wine/-/merge_requests/583
Every DrawTextLayout() call will produce this warning,
if there is any text to draw. Description is not required to draw a run,
and is safe to ignore.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/588
The following patches fix sending of the LVN_ODSTATECHANGED notification for
LVS_OWNERDATA list views, adding more refined tests in the process and
fixing various bugs.
This is v5, with the added comment in 3/6 as requested on the mailing list.
These are the patches sent as a response to v4 by Zhiyi Zhang on the mailing list, unmodified apart from 3/6 or f24f4b7fd.
---
Warning: I have had access to the Windows Research Kernel (WRK) 1.2
~10 years ago. These changes are regarding comctrl32 & tests which are NOT
part of the WRK. As outlined in https://wiki.winehq.org/Developer_FAQ this
should therefore satisfy the requirement of ONLY submitting patches to
components I have NOT had access to.
--
v6: comctl32/tests: Add more ownerdata listview tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/550
Most games use c_dfDIJoystick2 which can support up to 8 absolute axes,
6 directional ones and 2 sliders.
With this change we now have 8 usable axes instead of six and we FIXME
if device exposes more than that.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/573
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52128
Signed-off-by: Robert Wilhelm <robert.wilhelm(a)gmx.net>
--
v9: scrrun: Return path not found error if no folders were moved in MoveFolder().
scrrun: return path not found error if source ends with path separator in MoveFolder().
scrrun: Move directories only in MoveFolder().
scrrun: Support wildcards in MoveFolder().
scrrun: Move source dir into destination dir if destination ends with separator in MoveFolder().
scrrun: Check that source is directory in MoveFolder().
https://gitlab.winehq.org/wine/wine/-/merge_requests/391
Before https://gitlab.winehq.org/wine/wine/-/merge_requests/140, and to avoid a situation in the future where we might decide to implement this, and where the callback would be called asynchronously as they are supposed to, without the ASF reader filter supporting it.
--
v3: winegstreamer: Make IWMReader state transitions asynchronous.
winegstreamer: Leave the stream CS while waiting for a sample.
winegstreamer: Move IWMReaderCallbackAdvanced *callback_advanced to a local variable.
wmvcore/tests: Add more IWMReader_(Open|Start|Stop|Close) async checks.
https://gitlab.winehq.org/wine/wine/-/merge_requests/393
On Tue Aug 2 05:14:16 2022 +0000, **** wrote:
> Zebediah Figura (she/her) replied on the mailing list:
> ```
> On 7/31/22 06:53, Akihiro Sagawa wrote:
> > @@ -1573,6 +1575,37 @@ static void test_video_window(void)
> > todo_wine_if(i != 3)
> > ok(style == expected, "hwnd %p: got %#lx, expected %#lx\n",
> video_window, style, expected);
> >
> > + /* get source video size */
> > + err = mciSendCommandW(wDeviceID, MCI_WHERE,
> MCI_DGV_WHERE_SOURCE, (DWORD_PTR)&parm);
> > + ok(!err,"mciCommand where source returned %s\n", dbg_mcierr(err));
> > + src_rc = parm.where.rc;
> This should just be equal to the whole video rect (0,0)-(64,32) [unless,
> I suspect, it is set by MCI_DGV_PUT_SOURCE]; would you mind adding an
> explicit test for that?
> > +
> > + /* test default video destination size */
> > + err = mciSendCommandW(wDeviceID, MCI_WHERE,
> MCI_DGV_WHERE_DESTINATION, (DWORD_PTR)&parm);
> > + ok(!err,"mciCommand where destination returned %s\n", dbg_mcierr(err));
> > + if (style & (WS_POPUP|WS_CHILD))
> > + rc = src_rc;
> > + else
> > + GetClientRect(video_window, &rc);
> > + todo_wine_if(style & (WS_POPUP|WS_CHILD))
> > + ok(EqualRect(&parm.where.rc, &rc), "got %s, expected %s\n",
> wine_dbgstr_rect(&parm.where.rc), wine_dbgstr_rect(&rc));
> And this should too. The test here is a bit awkward as such because the
> destination and source rect are *always* equal, and separately, the
> client rect will also be equal to the video size if the window is a
> popup or child.
> > +
> > + /* test default video window size */
> > + rc = src_rc;
> > + AdjustWindowRect(&rc, WS_OVERLAPPEDWINDOW, FALSE); /* sigh */
> > + OffsetRect(&rc, -rc.left, -rc.top);
> > + rc.right = max(rc.right, GetSystemMetrics(SM_CXMIN));
> I gather "sigh" here means "Windows is broken", in the way spelled out
> in 8/11, right? It wouldn't hurt to spell that out explicitly ;-)
> _______________________________________________
> wine-gitlab mailing list -- wine-gitlab(a)winehq.org
> To unsubscribe send an email to wine-gitlab-leave(a)winehq.org
> ```
```
> @@ -1573,6 +1575,37 @@ static void test_video_window(void)
> todo_wine_if(i != 3)
> ok(style == expected, "hwnd %p: got %#lx, expected %#lx\n", video_window, style, expected);
>
> + /* get source video size */
> + err = mciSendCommandW(wDeviceID, MCI_WHERE, MCI_DGV_WHERE_SOURCE, (DWORD_PTR)&parm);
> + ok(!err,"mciCommand where source returned %s\n", dbg_mcierr(err));
> + src_rc = parm.where.rc;
```
> This should just be equal to the whole video rect (0,0)-(64,32) [unless,
> I suspect, it is set by MCI_DGV_PUT_SOURCE]; would you mind adding an
> explicit test for that?
Not at all. Actually, video rect is (0,0)-(32,24).
```
> +
> + /* test default video destination size */
> + err = mciSendCommandW(wDeviceID, MCI_WHERE, MCI_DGV_WHERE_DESTINATION, (DWORD_PTR)&parm);
> + ok(!err,"mciCommand where destination returned %s\n", dbg_mcierr(err));
> + if (style & (WS_POPUP|WS_CHILD))
> + rc = src_rc;
> + else
> + GetClientRect(video_window, &rc);
> + todo_wine_if(style & (WS_POPUP|WS_CHILD))
> + ok(EqualRect(&parm.where.rc, &rc), "got %s, expected %s\n", wine_dbgstr_rect(&parm.where.rc), wine_dbgstr_rect(&rc));
```
> And this should too. The test here is a bit awkward as such because the
> destination and source rect are *always* equal, and separately, the
> client rect will also be equal to the video size if the window is a
> popup or child.
Minimum width of video window is SM_CXMIN. So, if the video width less than SM_CXMIN approximately, destination rect isn't identical to the source one.
```
> +
> + /* test default video window size */
> + rc = src_rc;
> + AdjustWindowRect(&rc, WS_OVERLAPPEDWINDOW, FALSE); /* sigh */
> + OffsetRect(&rc, -rc.left, -rc.top);
> + rc.right = max(rc.right, GetSystemMetrics(SM_CXMIN));
```
> I gather "sigh" here means "Windows is broken", in the way spelled out
> in 8/11, right? It wouldn't hurt to spell that out explicitly ;-)
Right.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/557#note_5586
Some installers, like the visual studio installer, also make use of this function, instead of just NCryptVerifySignature.
--
v4: ncrypt: Initial implementation for NCryptEncrypt.
bcrypt: Initial RSA encryption implementation.
bcrypt/tests: Test for BCryptEncrypt with RSA keys.
https://gitlab.winehq.org/wine/wine/-/merge_requests/565
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
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/578
On Mon Aug 1 07:56:19 2022 +0000, Zhiyi Zhang wrote:
> Hi, R��mi. This is causing a new Coverity report. In
> NtUserChangeDisplaySettings(), default_mode is passed to
> read_registry_settings(), which eventually calls read_adapter_mode() and
> then writes to the mode + 1. This is out of bound access because
> default_mode is not an array. I think the correct fix is to not set
> dmDriverExtra for ENUM_REGISTRY_SETTINGS.
It writes only if `dmDriverExtra` is not zero. I think in both these two locations it is initialized to 0. It is used to read full modes for the available mode list.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/406#note_5556
This bug showed up on macOS Wow64 where XMM registers weren't being restored after an exception.
--
v2: ntdll: Fix floating point and extended registers not being restored under Wow64.
wow64: Copy floating point and extended registers in copy_context_64to32.
https://gitlab.winehq.org/wine/wine/-/merge_requests/571
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52128
Signed-off-by: Robert Wilhelm <robert.wilhelm(a)gmx.net>
--
v8: scrrun: Move directories only in MoveFolder().
scrrun: Support wildcards in MoveFolder().
scrrun: Move source dir into destination dir if destination ends with separator in MoveFolder().
scrrun: Check that source is directory in MoveFolder().
scrrun: Check for non-existant source in MoveFolder().
https://gitlab.winehq.org/wine/wine/-/merge_requests/391
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v15: cabinet/tests: add tests for DllGetVersion & GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Some installer, like the visual studio installer, also make use of this function, instead of just NCryptVerifySignature.
--
v3: ncrypt: Initial implementation for NCryptEncrypt.
bcrypt: Initial RSA encryption implementation.
bcrypt/tests: Test for BCryptEncrypt with RSA keys.
https://gitlab.winehq.org/wine/wine/-/merge_requests/565
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v14: cabinet/tests: add tests for DllGetVersion & GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v12: cabinet/tests: add tests for DllGetVersion & GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v11: cabinet/tests: add tests for DllGetVersion & GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v10: cabinet/tests: add tests for DllGetVersion & GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
Fix stub DllGetVersion implementation to read Dll version
and put it in correct structure.
Implement GetDllVersion by using DllGetVersion function
and return version
--
v9: cabinet/tests: add tests for DllGetVersion & GetDllVersion
https://gitlab.winehq.org/wine/wine/-/merge_requests/564
On Tue Aug 2 05:00:46 2022 +0000, Chip Davis wrote:
> > Is there any way to manually trigger the test bot?
> You can submit patches yourself to [the
> testbot](https://testbot.winehq.org/). Note that you will need an
> account on the testbot in order to do this, which I believe is separate
> from your account here.
> > the pipeline fails due to a (more or less) unrelated issue in another
> dll (msi). They have a function with the same name, DllGetVersion.
> That is because `DllGetVersion()` is also the name of an optional
> function supported by COM server DLLs. That's what those definitions in
> `<shlwapi.h>` are for.
> > Could it be that the dev defined it in shlwapi.h? The issue is that I
> can't define my function correctly with this definition (probably the
> reason why the first implementation used it, wrongly), but they can't
> use it without (or probably can, but didn't).
> Or, you could give `cabinet`'s `DllGetVersion()` a new name, and then in
> `cabinet.spec`, export the new name under the correct name:
> ```
> 2 stdcall -private DllGetVersion(ptr) cabinet_dll_get_version
> ```
> (Why did you remove the ordinals? The commit in which this happened has
> somehow vanished, but I remember seeing that.)
OK, I'll try to submit the patch manually to the test bot to see if it works now as expected :)
Oh, I see, o I should leave the definition of DllGetVersion in it I guess.
Renaming the function in cabinet.dll seems more like a workaround than a fix tbh, but I'll do as you say.
Removing the ordinals didn't have a specific reason, I just noticed that in some spec files there are ordinals and in some there are just @'s. I couldn't find anything on the difference, so I swapped them. Especially since I don't know how to numerate the imports, this seemed easier and worked fine.
Do the ordinals have any meaning/is there a reason to keep them?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/564#note_5485
Star Trek Starfleet Academy does not like it when available video memory
goes down after creating a system memory resource. It destroys all its
textures and recreates them, and in some sitations forgets to recreate
one or another texture, resulting in rendering bugs.
I suspect the game is trying to detect focus loss by monitoring for
unexpected video memory changes.
---
I am open to renaming WINED3DUSAGE_PRIVATE to something else, like
WINED3DUSAGE_NO_VIDMEM_ACCOUNTING. This particular name is ugly long
though.
--
v3: ddraw/tests: Add some video memory accounting tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/521
--
v2: wined3d: Build the device list only once in wined3d_output_find_closest_matching_mode().
dxgi: Build the device list only once in dxgi_output_get_display_mode_list().
d3d8: Cache the output mode list.
d3d9: Cache the output mode list.
wined3d: Build a list of wined3d_display_mode structures in wined3d_output_get_mode[_count]().
wined3d: Factor out mode_matches_filter().
https://gitlab.winehq.org/wine/wine/-/merge_requests/543
--
v2: ws2_32: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in WSAEnumNetworkEvents().
server: Translate AFD_POLL_RESET to FD_CLOSE plus WSAECONNABORTED in window messages.
server: Return ERROR_CONNECTION_RESET when trying to recv() on a reset socket.
ws2_32/tests: Work around a Linux bug.
ws2_32/tests: Test send() after TCP reset.
http.sys: Keep connection sockets open after sending a 400 response.
ws2_32/tests: Test sending data to a peer is closed().
https://gitlab.winehq.org/wine/wine/-/merge_requests/544
This is a new try of mciqtz32's video window patch.
Comparing to the previous !370, I added a lot of tests regarding the video window behavior.
Some portion of the previous patch are dropped to avoid complexity, I'll add that part later.
--
v2: mciqtz32: Show the default video window when switching from another one.
mciqtz32: Hide the default video window when switching to another one.
mciqtz32: Reset the video size when changing video destination.
mciqtz32: Correct initial video window dimensions.
mciqtz32: Fix MCI_DGV_WHERE_WINDOW behavior.
mciqtz32: Correct video window behavior by creating default window.
winmm/tests: Add tests for destination of video window.
winmm/tests: Add tests for dimensions of video window.
winmm/tests: Add tests for window style of video window.
mciqtz32: Don't hide video window when stopping.
winmm/tests: Add tests for visibility of video window.
https://gitlab.winehq.org/wine/wine/-/merge_requests/557
> Is there any way to manually trigger the test bot?
You can submit patches yourself to [the testbot](https://testbot.winehq.org/). Note that you will need an account on the testbot in order to do this, which I believe is separate from your account here.
> the pipeline fails due to a (more or less) unrelated issue in another dll (msi). They have a function with the same name, DllGetVersion.
That is because `DllGetVersion()` is also the name of an optional function supported by COM server DLLs. That's what those definitions in `<shlwapi.h>` are for.
> Could it be that the dev defined it in shlwapi.h? The issue is that I can't define my function correctly with this definition (probably the reason why the first implementation used it, wrongly), but they can't use it without (or probably can, but didn't).
Or, you could give `cabinet`'s `DllGetVersion()` a new name, and then in `cabinet.spec`, export the new name under the correct name:
```
2 stdcall -private DllGetVersion(ptr) cabinet_dll_get_version
```
(Why did you remove the ordinals? The commit in which this happened has somehow vanished, but I remember seeing that.)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/564#note_5469