Rémi Bernon (@rbernon) commented about dlls/winebus.sys/main.c:
> RtlEnterCriticalSection(&ext->cs);
> list_add_tail(&ext->reports, &report->entry);
>
> - if (!ext->collection_desc.ReportIDs[0].ReportID) last_report = ext->last_reports[0];
> + for ( i = 0; i < ext->collection_desc.CollectionDescLength; ++i )
> + {
> + HIDP_COLLECTION_DESC *desc = &ext->collection_desc.CollectionDesc[i];
> + for ( j = 0; j < ext->collection_desc.ReportIDsLength; ++j )
> + {
> + if (ext->collection_desc.ReportIDs[j].CollectionNumber != desc->CollectionNumber) continue;
> + if (!ext->collection_desc.ReportIDs[j].ReportID) last_report = ext->last_reports[0];
> else last_report = ext->last_reports[report_buf[0]];
> memcpy(last_report->buffer, report_buf, report_len);
> + break;
> + }
> + }
I'm not sure to understand this. Is it to cover the case where some of the TLC use report IDs while other don't, and I don't think that can happen?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6074#note_77776
The UK Kalender program was crashing when a new event was created as stated in the bug report. The fix is to create all the property sheet pages from the beginning instead of when they are selected.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54861
--
v6: comctl32/propsheet: Create pages with PSP_PREMATURE on initialization.
comctl32/tests: Add test for propsheet page creation when propsheet gets initialized.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6146
Adding PSN_QUERYINITIALFOCUS helped fix some focus issues with the property sheet in bug 54862. Previously the listview in the tab control did not get focus from the start when it should have.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54862
--
v10: comctl32: Add handling for PSN_QUERYINITIALFOCUS in prop.c.
comctl32/tests: Add test for PSN_QUERYINITIALFOCUS for the propsheet.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6145
Since LoadIconW returns NULL on an error anyway, we should try LoadIconW. This fixes a crash with the Affinity V2 installers.
--
v10: shell32: make SHGetStockIconInfo() attempt to set hIcon.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6189
> Please merge this. Like I previously explained I'm not interested in fighting over code, forcing anyone into doing something they don't want, or in endless and pointless ideological discussions.
>
> I'm now pretty much convinced that GStreamer is not a good choice as a backend because of the impedance mismatch and the amount of dogma that apparently comes with it. I will probably start looking into other options.
All else aside, there is no dogma about winegstreamer. As maintainer, I tried to use my experience working with the component to architect the best design that accommodates all of the necessary fixes and features. As reviewer, I seek to point out functional problems with any new patches. 5998 has some of these functional problems.
Fundamentally the question is one of expediency and correctness, not ideology. 5988 makes use of existing code to fix the same bugs as 5998 proposes to rewrite the entire DLL to fix, and it avoids the problems that 5998 introduces.
GStreamer is a poor fit in some ways, in particular its asynchronous nature and its use of callbacks from new Unix threads. For these reasons, I've never loved it. However, it is also a very good choice in some other ways: it is heavily developed, has extensive codec support, has a stable API, and the project leadership is very open to new APIs. The only other library I know of with extensive enough codec support is ffmpeg, which does *not* have a stable API. Between the two options, I believe that GStreamer is the better one, especially because it already exists and works well.
Moreover, those problems with GStreamer have already been solved, and I've also talked to the project leadership about extending GStreamer to solve them on the other side and simplify our code anyway.
Between (1) GStreamer and Wine as it exists now, (2) GStreamer with future extensions to simplify Wine code, and (3) writing the whole component from scratch in some other library, it is eminently much more expedient to choose the first option, perhaps with an eye to the second, than switching to some other library.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5340#note_77742
Because WINENV is limited (32767 bytes), and HOSTENV can be much larger,
a whitelisting approach is used to keep WINENV as small as possible.
Currently, only the following envvars are propagated from the host env to WINENV
WINEPATH, WINEPWD, WINEHOME, WINETEMP, WINETMP, WINEQT_, WINEVK_, WINEXDG_SESSION_TYPE
Moreover, the NIXENV (env for running wine processes - not applications) on the
host system is not produced from WINENV anymore, but the global ENV
is propagated to all wine processes and threads.
This might be an alternative approach to MR!5231, MR!6140, bug #56941
and should provide a more deterministic behaviour of wine, because unrelated
envvars do have no influence on the env for running windows applications.
Initial tests (winemine, notepad, cmd, etc) seem to run fine, but some envvars might need additional
consideration. XVDK_* was mentioned, WINE*, MESA_*, VK_*, QT_*, LIBGL_* are other suspects.
Moreover, this is my first merge request, so your feedback is highly appreciated.
--
v9: mmdevapi: Remove unused critical section from MMDevice.
iphlpapi: Add stub for SetCurrentThreadCompartmentId.
gdi32: Fix out-of-bounds write in EMR_ALPHABLEND handling.
kernel32/tests: Test ReadProcessMemory on PAGE_NOACCESS memory.
ntdll: Optimize NtReadVirtualMemory for in-process reads.
maintainers: Remove shdocvw from WebBrowser control section.
msvcrt: Reuse standard streams after they are closed.
jscript: Allow using MSHTML constructors in instanceof expressions.
mshtml: Use proper prototype names.
mshtml: Store name in dispex_data_t.
mshtml: Don't expose prototype properties directly from object instances.
mshtml: Add initial support for MSHTML prototype objects.
mshtml: Factor out init_dispatch_from_desc.
mshtml: Split ensure_dispex_info.
mshtml: Store vtbl in dispex_data_t.
mshtml: Add initial constructor implementation.
odbc32: Forward SQLGetInfo() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetDescRec() to the Unicode version if needed.
odbc32: Forward SQLGetDescField() to the Unicode version if needed.
odbc32: Forward SQLGetCursorName() to the Unicode version if needed.
odbc32: Forward SQLGetConnectOption() to the Unicode version if needed.
odbc32: Forward SQLGetConnectAttr() to the Unicode version if needed.
mmdevapi/tests: Add test for IAudioSessionEnumerator.
mmdevapi: Add implementation for IAudioSessionEnumerator.
mmdevapi: Return stub interface from ASM_GetSessionEnumerator().
jscript: Implement arguments.caller.
comctl32: Fix sorting for listview.
comctl32/tests: Add test for listview sorting order.
d3dx9/tests: Add some tests for D3DXEFFECT_DESC fields.
propsys: Initially implement VariantToPropVariant.
propsys/tests: Add tests for VariantToPropVariant.
propsys: Add stubs for variant conversion functions.
win32u: Merge drivers CreateLayeredWindow with CreateWindowSurface.
win32u: Avoid sending WM_PAINT to layered window surfaces.
winemac: Rely on win32u previous surface reuse.
winemac: Remove unnecessary old window surface bounds copy.
winewayland: Rely on win32u previous surface reuse.
wineandroid: Rely on win32u previous surface reuse.
winex11: Rely on win32u previous surface reuse.
win32u: Simplify offscreen surface previous surface reuse check.
odbc32: In get_drivers simplify loop condition.
odbc32: In get_drivers prevent memory leak in error case (coverity).
nsiproxy.sys: Only get owning pid when needed in udp_endpoint_enumerate_all().
nsiproxy.sys: Fix the build on non-Apple, non-Linux systems.
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/6166