Needed to compile Tera Term.
-- v2: include: Add shobjidl_core.idl. shell32: Rename ShellItem to struct shell_item.
From: Alex Henrie alexhenrie24@gmail.com
To avoid confusion or conflict with the ShellItem struct defined in the Windows headers. --- dlls/shell32/shellitem.c | 82 ++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 41 deletions(-)
diff --git a/dlls/shell32/shellitem.c b/dlls/shell32/shellitem.c index a6d4ee9ef07..30465bb9ecd 100644 --- a/dlls/shell32/shellitem.c +++ b/dlls/shell32/shellitem.c @@ -34,32 +34,32 @@
WINE_DEFAULT_DEBUG_CHANNEL(shell);
-typedef struct _ShellItem { +struct shell_item { IShellItem2 IShellItem2_iface; LONG ref; LPITEMIDLIST pidl; IPersistIDList IPersistIDList_iface; IShellItemImageFactory IShellItemImageFactory_iface; -} ShellItem; +};
typedef struct _CustomDestinationList { ICustomDestinationList ICustomDestinationList_iface; LONG ref; } CustomDestinationList;
-static inline ShellItem *impl_from_IShellItem2(IShellItem2 *iface) +static struct shell_item *impl_from_IShellItem2(IShellItem2 *iface) { - return CONTAINING_RECORD(iface, ShellItem, IShellItem2_iface); + return CONTAINING_RECORD(iface, struct shell_item, IShellItem2_iface); }
-static inline ShellItem *impl_from_IPersistIDList( IPersistIDList *iface ) +static struct shell_item *impl_from_IPersistIDList(IPersistIDList *iface) { - return CONTAINING_RECORD(iface, ShellItem, IPersistIDList_iface); + return CONTAINING_RECORD(iface, struct shell_item, IPersistIDList_iface); }
-static inline ShellItem *impl_from_IShellItemImageFactory( IShellItemImageFactory *iface ) +static struct shell_item *impl_from_IShellItemImageFactory(IShellItemImageFactory *iface) { - return CONTAINING_RECORD(iface, ShellItem, IShellItemImageFactory_iface); + return CONTAINING_RECORD(iface, struct shell_item, IShellItemImageFactory_iface); }
static inline CustomDestinationList *impl_from_ICustomDestinationList( ICustomDestinationList *iface ) @@ -70,7 +70,7 @@ static inline CustomDestinationList *impl_from_ICustomDestinationList( ICustomDe static HRESULT WINAPI ShellItem_QueryInterface(IShellItem2 *iface, REFIID riid, void **ppv) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface);
TRACE("(%p, %s, %p)\n", iface, debugstr_guid(riid), ppv);
@@ -101,7 +101,7 @@ static HRESULT WINAPI ShellItem_QueryInterface(IShellItem2 *iface, REFIID riid,
static ULONG WINAPI ShellItem_AddRef(IShellItem2 *iface) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); ULONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p), new refcount=%li\n", iface, ref); @@ -111,7 +111,7 @@ static ULONG WINAPI ShellItem_AddRef(IShellItem2 *iface)
static ULONG WINAPI ShellItem_Release(IShellItem2 *iface) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); ULONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p), new refcount=%li\n", iface, ref); @@ -125,7 +125,7 @@ static ULONG WINAPI ShellItem_Release(IShellItem2 *iface) return ref; }
-static HRESULT ShellItem_get_parent_pidl(ShellItem *This, LPITEMIDLIST *parent_pidl) +static HRESULT ShellItem_get_parent_pidl(struct shell_item *This, ITEMIDLIST **parent_pidl) { *parent_pidl = ILClone(This->pidl); if (*parent_pidl) @@ -146,7 +146,7 @@ static HRESULT ShellItem_get_parent_pidl(ShellItem *This, LPITEMIDLIST *parent_p } }
-static HRESULT ShellItem_get_parent_shellfolder(ShellItem *This, IShellFolder **ppsf) +static HRESULT ShellItem_get_parent_shellfolder(struct shell_item *This, IShellFolder **ppsf) { LPITEMIDLIST parent_pidl; IShellFolder *desktop; @@ -174,7 +174,7 @@ static HRESULT ShellItem_get_parent_shellfolder(ShellItem *This, IShellFolder ** return ret; }
-static HRESULT ShellItem_get_shellfolder(ShellItem *This, IBindCtx *pbc, IShellFolder **ppsf) +static HRESULT ShellItem_get_shellfolder(struct shell_item *This, IBindCtx *pbc, IShellFolder **ppsf) { IShellFolder *desktop; HRESULT ret; @@ -201,7 +201,7 @@ static HRESULT ShellItem_get_shellfolder(ShellItem *This, IBindCtx *pbc, IShellF static HRESULT WINAPI ShellItem_BindToHandler(IShellItem2 *iface, IBindCtx *pbc, REFGUID rbhid, REFIID riid, void **ppvOut) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); HRESULT ret; TRACE("(%p,%p,%s,%p,%p)\n", iface, pbc, shdebugstr_guid(rbhid), riid, ppvOut);
@@ -246,7 +246,7 @@ static HRESULT WINAPI ShellItem_BindToHandler(IShellItem2 *iface, IBindCtx *pbc,
static HRESULT WINAPI ShellItem_GetParent(IShellItem2 *iface, IShellItem **ppsi) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); LPITEMIDLIST parent_pidl; HRESULT ret;
@@ -265,7 +265,7 @@ static HRESULT WINAPI ShellItem_GetParent(IShellItem2 *iface, IShellItem **ppsi) static HRESULT WINAPI ShellItem_GetDisplayName(IShellItem2 *iface, SIGDN sigdnName, LPWSTR *ppszName) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); TRACE("(%p,%x,%p)\n", iface, sigdnName, ppszName);
return SHGetNameFromIDList(This->pidl, sigdnName, ppszName); @@ -274,7 +274,7 @@ static HRESULT WINAPI ShellItem_GetDisplayName(IShellItem2 *iface, SIGDN sigdnNa static HRESULT WINAPI ShellItem_GetAttributes(IShellItem2 *iface, SFGAOF sfgaoMask, SFGAOF *psfgaoAttribs) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); IShellFolder *parent_folder; LPITEMIDLIST child_pidl; HRESULT ret; @@ -358,7 +358,7 @@ static HRESULT WINAPI ShellItem_Compare(IShellItem2 *iface, IShellItem *oth, static HRESULT WINAPI ShellItem2_GetPropertyStore(IShellItem2 *iface, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%d, %s, %p)\n", This, flags, shdebugstr_guid(riid), ppv); return E_NOTIMPL; } @@ -366,7 +366,7 @@ static HRESULT WINAPI ShellItem2_GetPropertyStore(IShellItem2 *iface, GETPROPERT static HRESULT WINAPI ShellItem2_GetPropertyStoreWithCreateObject(IShellItem2 *iface, GETPROPERTYSTOREFLAGS flags, IUnknown *punkCreateObject, REFIID riid, void **ppv) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%08x, %p, %s, %p)\n", This, flags, punkCreateObject, shdebugstr_guid(riid), ppv); return E_NOTIMPL; @@ -375,7 +375,7 @@ static HRESULT WINAPI ShellItem2_GetPropertyStoreWithCreateObject(IShellItem2 *i static HRESULT WINAPI ShellItem2_GetPropertyStoreForKeys(IShellItem2 *iface, const PROPERTYKEY *rgKeys, UINT cKeys, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %d, %08x, %s, %p)\n", This, rgKeys, cKeys, flags, shdebugstr_guid(riid), ppv); return E_NOTIMPL; @@ -384,70 +384,70 @@ static HRESULT WINAPI ShellItem2_GetPropertyStoreForKeys(IShellItem2 *iface, con static HRESULT WINAPI ShellItem2_GetPropertyDescriptionList(IShellItem2 *iface, REFPROPERTYKEY keyType, REFIID riid, void **ppv) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %s, %p)\n", This, keyType, debugstr_guid(riid), ppv); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_Update(IShellItem2 *iface, IBindCtx *pbc) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p)\n", This, pbc); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetProperty(IShellItem2 *iface, REFPROPERTYKEY key, PROPVARIANT *ppropvar) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, ppropvar); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetCLSID(IShellItem2 *iface, REFPROPERTYKEY key, CLSID *pclsid) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, pclsid); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetFileTime(IShellItem2 *iface, REFPROPERTYKEY key, FILETIME *pft) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, pft); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetInt32(IShellItem2 *iface, REFPROPERTYKEY key, int *pi) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, pi); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetString(IShellItem2 *iface, REFPROPERTYKEY key, LPWSTR *ppsz) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, ppsz); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetUInt32(IShellItem2 *iface, REFPROPERTYKEY key, ULONG *pui) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, pui); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetUInt64(IShellItem2 *iface, REFPROPERTYKEY key, ULONGLONG *pull) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, pull); return E_NOTIMPL; }
static HRESULT WINAPI ShellItem2_GetBool(IShellItem2 *iface, REFPROPERTYKEY key, BOOL *pf) { - ShellItem *This = impl_from_IShellItem2(iface); + struct shell_item *This = impl_from_IShellItem2(iface); FIXME("Stub: %p (%p, %p)\n", This, key, pf); return E_NOTIMPL; } @@ -480,19 +480,19 @@ static const IShellItem2Vtbl ShellItem2_Vtbl = { static HRESULT WINAPI ShellItem_IPersistIDList_QueryInterface(IPersistIDList *iface, REFIID riid, void **ppv) { - ShellItem *This = impl_from_IPersistIDList(iface); + struct shell_item *This = impl_from_IPersistIDList(iface); return IShellItem2_QueryInterface(&This->IShellItem2_iface, riid, ppv); }
static ULONG WINAPI ShellItem_IPersistIDList_AddRef(IPersistIDList *iface) { - ShellItem *This = impl_from_IPersistIDList(iface); + struct shell_item *This = impl_from_IPersistIDList(iface); return IShellItem2_AddRef(&This->IShellItem2_iface); }
static ULONG WINAPI ShellItem_IPersistIDList_Release(IPersistIDList *iface) { - ShellItem *This = impl_from_IPersistIDList(iface); + struct shell_item *This = impl_from_IPersistIDList(iface); return IShellItem2_Release(&This->IShellItem2_iface); }
@@ -506,7 +506,7 @@ static HRESULT WINAPI ShellItem_IPersistIDList_GetClassID(IPersistIDList* iface, static HRESULT WINAPI ShellItem_IPersistIDList_SetIDList(IPersistIDList* iface, LPCITEMIDLIST pidl) { - ShellItem *This = impl_from_IPersistIDList(iface); + struct shell_item *This = impl_from_IPersistIDList(iface); LPITEMIDLIST new_pidl;
TRACE("(%p,%p)\n", This, pidl); @@ -526,7 +526,7 @@ static HRESULT WINAPI ShellItem_IPersistIDList_SetIDList(IPersistIDList* iface, static HRESULT WINAPI ShellItem_IPersistIDList_GetIDList(IPersistIDList* iface, LPITEMIDLIST *ppidl) { - ShellItem *This = impl_from_IPersistIDList(iface); + struct shell_item *This = impl_from_IPersistIDList(iface);
TRACE("(%p,%p)\n", This, ppidl);
@@ -549,26 +549,26 @@ static const IPersistIDListVtbl ShellItem_IPersistIDList_Vtbl = { static HRESULT WINAPI ShellItem_IShellItemImageFactory_QueryInterface(IShellItemImageFactory *iface, REFIID riid, void **ppv) { - ShellItem *This = impl_from_IShellItemImageFactory(iface); + struct shell_item *This = impl_from_IShellItemImageFactory(iface); return IShellItem2_QueryInterface(&This->IShellItem2_iface, riid, ppv); }
static ULONG WINAPI ShellItem_IShellItemImageFactory_AddRef(IShellItemImageFactory *iface) { - ShellItem *This = impl_from_IShellItemImageFactory(iface); + struct shell_item *This = impl_from_IShellItemImageFactory(iface); return IShellItem2_AddRef(&This->IShellItem2_iface); }
static ULONG WINAPI ShellItem_IShellItemImageFactory_Release(IShellItemImageFactory *iface) { - ShellItem *This = impl_from_IShellItemImageFactory(iface); + struct shell_item *This = impl_from_IShellItemImageFactory(iface); return IShellItem2_Release(&This->IShellItem2_iface); }
static HRESULT WINAPI ShellItem_IShellItemImageFactory_GetImage(IShellItemImageFactory *iface, SIZE size, SIIGBF flags, HBITMAP *phbm) { - ShellItem *This = impl_from_IShellItemImageFactory(iface); + struct shell_item *This = impl_from_IShellItemImageFactory(iface); static const BITMAPINFOHEADER dummy_bmi_header = { .biSize = sizeof(dummy_bmi_header), .biWidth = 1, @@ -601,7 +601,7 @@ static const IShellItemImageFactoryVtbl ShellItem_IShellItemImageFactory_Vtbl =
HRESULT WINAPI IShellItem_Constructor(IUnknown *pUnkOuter, REFIID riid, void **ppv) { - ShellItem *This; + struct shell_item *This; HRESULT ret;
TRACE("(%p,%s)\n",pUnkOuter, debugstr_guid(riid));
From: Alex Henrie alexhenrie24@gmail.com
Needed to compile Tera Term. --- include/Makefile.in | 1 + include/shlguid.h | 5 ---- include/shobjidl.idl | 1 + include/shobjidl_core.idl | 55 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 5 deletions(-) create mode 100644 include/shobjidl_core.idl
diff --git a/include/Makefile.in b/include/Makefile.in index 62904d8d2a0..848837f84fc 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -685,6 +685,7 @@ SOURCES = \ shlobj.h \ shlwapi.h \ shobjidl.idl \ + shobjidl_core.idl \ shtypes.idl \ sipbase.h \ slerror.h \ diff --git a/include/shlguid.h b/include/shlguid.h index c6878c36864..8d68700accf 100644 --- a/include/shlguid.h +++ b/include/shlguid.h @@ -19,8 +19,6 @@ #ifndef __WINE_SHLGUID_H #define __WINE_SHLGUID_H
-DEFINE_OLEGUID(CLSID_ShellDesktop, 0x00021400, 0, 0); - DEFINE_OLEGUID(CATID_BrowsableShellExt, 0x00021490, 0, 0); DEFINE_OLEGUID(CATID_BrowseInPlace, 0x00021491, 0, 0); DEFINE_OLEGUID(CATID_DeskBand, 0x00021492, 0, 0); @@ -124,13 +122,11 @@ DEFINE_GUID(IID_IInputObjectSite, 0xF1DB8392, 0x7331, 0x11D0, 0x8C, 0x99, 0x00 /**************************************************************************** * the next IID's are the namespace elements of the pidls */ -DEFINE_GUID(CLSID_NetworkPlaces, 0x208D2C60, 0x3AEA, 0x1069, 0xA2, 0xD7, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D); DEFINE_GUID(CLSID_NetworkDomain, 0x46e06680, 0x4bf0, 0x11d1, 0x83, 0xee, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0x49); DEFINE_GUID(CLSID_NetworkServer, 0xc0542a90, 0x4bf0, 0x11d1, 0x83, 0xee, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0x49); DEFINE_GUID(CLSID_NetworkShare, 0x54a754c0, 0x4bf0, 0x11d1, 0x83, 0xee, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0x49); DEFINE_GUID(CLSID_MyComputer, 0x20D04FE0, 0x3AEA, 0x1069, 0xA2, 0xD8, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D); DEFINE_GUID(CLSID_Internet, 0x871C5380, 0x42A0, 0x1069, 0xA2, 0xEA, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D); -DEFINE_GUID(CLSID_ShellFSFolder, 0xF3364BA0, 0x65B9, 0x11CE, 0xA9, 0xBA, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37); DEFINE_GUID(CLSID_RecycleBin, 0x645FF040, 0x5081, 0x101B, 0x9F, 0x08, 0x00, 0xAA, 0x00, 0x2F, 0x95, 0x4E); DEFINE_GUID(CLSID_ControlPanel, 0x21EC2020, 0x3AEA, 0x1069, 0xA2, 0xDD, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D); DEFINE_GUID(CLSID_Printers, 0x2227A280, 0x3AEA, 0x1069, 0xA2, 0xDE, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D); @@ -145,7 +141,6 @@ DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x00,
DEFINE_GUID(CLSID_ProgressDialog, 0xf8383852, 0xfcd3, 0x11d1, 0xa6, 0xb9, 0x0, 0x60, 0x97, 0xdf, 0x5b, 0xd4);
-DEFINE_GUID(CLSID_ShellItem, 0x2fe352ea, 0xfd1f, 0x11d2, 0xb1, 0xf4, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e); DEFINE_GUID(CLSID_NewMenu, 0xd969a300, 0xe7ff, 0x11d0, 0xa9, 0x3b, 0x0, 0xa0, 0xc9, 0xf, 0x27, 0x19);
#define PSGUID_SHELLDETAILS {0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0} diff --git a/include/shobjidl.idl b/include/shobjidl.idl index 065e0c8c528..a5b27ec1003 100644 --- a/include/shobjidl.idl +++ b/include/shobjidl.idl @@ -33,6 +33,7 @@ import "wtypes.idl"; import "propsys.idl"; import "objectarray.idl"; /* FIXME: import "structuredquery.idl"; */ +import "shobjidl_core.idl";
cpp_quote("/* FIXME: #include <sherrors.h> */")
diff --git a/include/shobjidl_core.idl b/include/shobjidl_core.idl new file mode 100644 index 00000000000..dd64204682e --- /dev/null +++ b/include/shobjidl_core.idl @@ -0,0 +1,55 @@ +/* + * Copyright 2022 Alex Henrie + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +[ + uuid(56f9f44f-f74c-4e38-99bc-9f3ebd3d696a) +] +library ShellCoreObjects +{ + [ + uuid(208d2c60-3aea-1069-a2d7-08002b30309d) + ] + coclass NetworkPlaces + { + interface IShellFolder2; + } + + [ + uuid(00021400-0000-0000-c000-000000000046) + ] + coclass ShellDesktop + { + interface IShellFolder2; + } + + [ + uuid(f3364ba0-65b9-11ce-a9ba-00aa004ae837) + ] + coclass ShellFSFolder + { + interface IShellFolder2; + } + + [ + uuid(9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917) + ] + coclass ShellItem + { + interface IShellItem2; + } +}
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=126898
Your paranoid android.
=== debian11 (32 bit report) ===
wldap32: parse.c:245: Test failed: ldap_get_next_page_s failed 0x51 parse.c:246: Test failed: expected res != NULL parse.c:247: Test failed: got 3735928559 Unhandled exception: page fault on read access to 0x0000001c in 32-bit code (0x6f8d7bce).
=== debian11 (32 bit zh:CN report) ===
shell32: autocomplete.c:614: Test failed: Expected (null), got L"ab" autocomplete.c:637: Test failed: Expected (null), got L"www.ax"
On Tue Nov 29 04:06:33 2022 +0000, Alex Henrie wrote:
changed this line in [version 2 of the diff](/wine/wine/-/merge_requests/1574/diffs?diff_id=21515&start_sha=1bac3675aa2b8ca945dda31c98dc8be843719bff#0ad4bfeaf4009508993a889651b31ebedb7e3fcc_43_43)
Thanks for the feedback. I just pushed a new version that renames `ShellItem` to `struct shell_item`.