--
v2: d3dx9: Introduce helper function for retrieving the mip filter value in texture from file functions.
d3dx9: Validate filter argument value in texture from file functions.
d3dx9: Handle default filter value in texture from file functions.
d3dx9: Validate filter argument in D3DXLoadSurfaceFrom{Surface,FileInMemory,Memory}().
d3dx9: Validate filter argument in D3DXLoadVolumeFrom{Volume,FileInMemory,Memory}().
d3dx9/tests: Add d3dx filter argument value tests.
d3dx9: Return failure from D3DXLoadSurfaceFromMemory() if d3dx_load_pixels_from_pixels() fails.
d3dx9: Return success in D3DXLoadSurfaceFromMemory() for multisampled destination surfaces.
d3dx9/tests: Add tests for D3DXLoadSurfaceFromMemory() with a multisampled surface.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6157
On Fri Aug 2 13:21:13 2024 +0000, Zhiyi Zhang wrote:
> Did you figure out why it's not working as expected?
virtual monitor is different than physical monitor,it has no builtin resolution. it is a window on host. for example, wine explorer.exe /desktop=123x456 can also show. so it has no need for apply builtin mode.
we can chat by weixin, my weixinhao fan-wenjie
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6150#note_77674
Fixes Owl Observatory Demo failing to start.
It looks like just a stub interface might be enough for the game to work but it probably won't hurt to implement the interface at once.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6193
On Fri Aug 2 07:08:22 2024 +0000, Fan WenJie wrote:
> There is no need for parsing, because parse resolution is doing by
> explorer.exe, explorer.exe parse resolution by arguments and setting by NtUserChangeDisplaySetting
Did you figure out why it's not working as expected?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6150#note_77662
The listview bug is caused by passing the incorrect index to the LISTVIEW_SortItems callers custom compare function. If we pass the copied array indices, which are different because of the sorting, the caller is going to use those indices for their unsorted array which don't match.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56140
--
v9: comctl32: Fix sorting for listview.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6160
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
--
v5: 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
Since LoadIconW returns NULL on an error anyway, we should try LoadIconW. This fixes a crash with the Affinity V2 installers.
--
v5: shell32: check for SHGSI_ICON flag before attempting to load the icon
https://gitlab.winehq.org/wine/wine/-/merge_requests/6189
Send INVALIDATEMEDIATYPE to allow the transform type to be set before
retrying PROCESSINPUTNOTIFY.
--
v4: mf: Send MEError when IMFStreamSink_ProcessSample fails.
mf: Retry PROCESSINPUTNOTIFY if TRANSFORM_TYPE_NOT_SET is returned.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6059
Currently shell32 only transfers the plain icon for `Shell_NotifyIcon` calls, ignoring balloon icons. This patch allows transferring both images to explorer.exe tray.
--
v6: shell32: add support for balloon icon copying
shell32: refactor notify_icon to allow copying multiple icons
https://gitlab.winehq.org/wine/wine/-/merge_requests/2875
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
--
v8: 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
The listview bug is caused by passing the incorrect index to the LISTVIEW_SortItems callers custom compare function. If we pass the copied array indices, which are different because of the sorting, the caller is going to use those indices for their unsorted array which don't match.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56140
--
v8: comctl32: Fix sorting for listview.
comctl32/tests: Add test for listview sorting order.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6160
Since LoadIconW returns NULL on an error anyway, we should try LoadIconW. This fixes a crash with the Affinity V2 installers.
--
v4: shell32: Use szPath when getting module handle.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6189
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
--
v4: 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
The listview bug is caused by passing the incorrect index to the LISTVIEW_SortItems callers custom compare function. If we pass the copied array indices, which are different because of the sorting, the caller is going to use those indices for their unsorted array which don't match.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56140
--
v7: comctl32: Fix sorting for listview.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6160
The listview bug is caused by passing the incorrect index to the LISTVIEW_SortItems callers custom compare function. If we pass the copied array indices, which are different because of the sorting, the caller is going to use those indices for their unsorted array which don't match.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56140
--
v6: comctl32: Fix sorting for listview.
comctl32/tests: Add test for listview sorting order.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6160
commit 5261811d471 revamped the code around pcblist structures,
alas assumes a variable mib is always present on non-Apple, non-Linux
systems when it is not. And in any case, ARRAY_SIZE should be used for
the actual structure it applies to, not a similar one.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6183
GCC always assembles `jmp 1f` to `eb 01`, as does Clang when using -O1
or higher optimization.
But with -O0, Clang outputs `e9 01 00 00 00`.
The `subq $0xb,0x70(%rcx)` line in __wine_syscall_dispatcher relies on
`jmp 1f` being 2 bytes.
Since Wine defaults to `-g -O2` for `CFLAGS`, this wouldn't show up with a default Clang build.
But the FreeBSD `wine-devel` port must override `CFLAGS`, it uses Clang for PE and was crashing on launch.
See <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280000>.
Here are compiler explorer links to see the difference: [PE](https://godbolt.org/z/35TxW8dK9) and [ELF](https://godbolt.org/z/1h3j4c4ja). Adding -O1 to the clang side will make them equivalent.
I may also report this as an LLVM bug, it doesn't seem like there's any reason why Clang would prefer the long form at `-O0`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6179
The listview bug is caused by passing the incorrect index to the LISTVIEW_SortItems callers custom compare function. If we pass the copied array indices, which are different because of the sorting, the caller is going to use those indices for their unsorted array which don't match.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56140
--
v5: comctl32: Fix sorting for listview.
comctl32/tests: Add test for listview sorting order.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6160
On Wed Jul 31 13:55:13 2024 +0000, Zhiyi Zhang wrote:
> I don't think you're going in the right direction. Why did you remove
> all this code? You should be able to parse the resolution from the
> command line and set it as the resolution for the virtual desktop window
> and resolve the regression.
There is no need for parsing, because parse resolution is doing by explorer.exe, explorer.exe parse resolution by arguments and setting by NtUserChangeDisplaySetting
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6150#note_77582
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.
--
v8: ntdll: main:envp has been replaced by environ
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
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.
--
v7: msv1_0: Use _NSGetEnviron() instead of environ on macOS.
ntdll: Use _NSGetEnviron() instead of environ when spawning the server on macOS.
ntdll: Use environ/_NSGetEnviron() directly rather than caching it in main_envp.
include: Ensure that x86_64 syscall thunks have a consistent length when built with Clang.
include: Forward declare all gdiplus classes.
include: Add *_SHIFT macros.
include: Add gdiplus effect parameter structs.
atl: Only warn in AtlModuleGetClassObject if the class was not found.
atl: Correct comment above AtlModuleRegisterTypeLib function.
mshtml: Use host object script bindings for style objects.
mshtml: Use get_prop_desc for legacy function object implementation.
mshtml: Use host object script bindings for HTMLStyleSheetRule.
mshtml: Use host object script bindings for HTMLStyleSheetRulesCollection.
mshtml: Use host object script bindings for HTMLStyleSheet.
mshtml: Use host object script bindings for HTMLStyleSheetsCollection.
mshtml: Use host object script bindings for HTMLDOMChildrenCollection.
mshtml: Use dispex_index_prop_desc for HTMLElementCollection.
comctl32: Handle WM_GETOBJECT in tab control.
wined3d: Feed modelview matrices through a push constant buffer.
wined3d: Do not use the normal or modelview matrices when drawing pretransformed vertices.
wined3d: Feed the projection matrix through a push constant buffer.
wined3d: Move get_projection_matrix() to glsl_shader.c.
wined3d: Feed the material through a push constant buffer.
wined3d: Invalidate push constant flags only for the primary stateblock.
include: Added IEventTrigger declaration.
include: Add ISessionStateChangeTrigger declaration.
include: Add more Task Scheduler Trigger interface definitions.
shell32: Fix FO_MOVE when destination has conflicting directory.
shell32/tests: Add tests for moving dir(s) to destination(s) with conflicting dir.
mshtml: Use host object script bindings for HTMLAttributeCollection.
mshtml: Use dispex_index_prop_desc for HTMLFiltersCollection.
mshtml: Use host object script bindings for DOMTokenList.
mshtml: Use host object script bindings for HTMLRect.
mshtml: Use host object script bindings for select elements.
mshtml: Use host object script bindings for object elements.
mshtml: Store property name in HTMLPluginContainer.
mshtml: Use HTMLPluginContainer for DispatchEx functions in object element.
sechost: Check both lpServiceName and lpServiceProc for NULL in StartServiceCtrlDispatcher().
d3dx9/effect: Document one remaining header field.
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
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
--
v6: 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
--
v9: user32/edit: Add some WM_ASKCBFORMATNAME tests.
user32/tests: Add tests for NULL strings with edit control GETTEXT message.
comctl32/tests: Add tests for NULL strings with edit control GETTEXT message.
user32: Correctly handle NULL string in GETTEXT/CBFORMAT AtoW wrapper.
user32: Fail on NULL string for edit control WM_GETTEXT message.
comctl32: Fail on NULL string for edit control WM_GETTEXT message.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6004
On Wed Jul 31 16:19:30 2024 +0000, Nikolay Sivov wrote:
> If this is coming from analyzer report, I wouldn't bother.
Yeah, it's from an analyzer. But I don't see the harm in making it NULL safe, it seems like a simple change to me.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3410#note_77432
Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
> return STATUS_SUCCESS;
> }
>
> -/* parse the desktop size specification */
> -static BOOL parse_size( const WCHAR *size, DWORD *width, DWORD *height )
I don't think you're going in the right direction. Why did you remove all this code? You should be able to parse the resolution from the command line and set it as the resolution for the virtual desktop window and resolve the regression.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6150#note_77420
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
--
v5: 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
Fixes bug 54861. 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.
--
v3: comctl32: Create all prop sheet pages on initialization.
comctl32/tests: Add test for propsheet page creation when propsheet gets initialized.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6146
1) It's not a high priority for me to fix white space discrepancies in printing (unless there's a program in the wild that makes use of it) (I would be more worried about a space before the = as it wwould impact the saved environment variable)
2) would you mind adding a test case for this so that we don't lose this use case?
3) I strongly believe SET (and not only SET /P) shall rely on parsing the parameters with the usual helper functions instead of doing their own parsing
4) there's also a more annoying issue like not expanding in SET the potential variables inside quotes (like SET "%foo%=bar", and IIRC Wine doesn't expand %foo%, but it does expand in SET %foo%=bar)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6170#note_77392