https://bugs.winehq.org/show_bug.cgi?id=50042
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #5 from Nikolay Sivov bunglehead@gmail.com --- There is an explicit throw in WinForms Core code for this:
--- private void SetFileTypes(IFileDialog dialog) { COMDLG_FILTERSPEC[] filterItems = FilterItems; HRESULT hr = dialog.SetFileTypes((uint)filterItems.Length, filterItems); if (!hr.Succeeded()) { throw Marshal.GetExceptionForHR((int)hr); } ---
SetFileTypes fails because filterItems is null, and it should according to tests.
Running with .NET winforms I get this:
0420:trace:commdlg:IFileDialog2_fnSetFileTypes 00CF3A48 (0, FFFFFFFF)
Which returns S_OK in Wine, because of 0 first argument while second is non-zero.
I don't know if it points to difference between managed part of WinForms Core vs WinForms .NET, or if it's about marshalling logic differences in mono vs .NET runtime.
Confirming.