Jinoh Kang (@iamahuman) commented about dlls/comdlg32/navbar.c:
+ crumb1->pidl = ILClone(pidl); + IShellFolder_GetDisplayNameOf(desktop, pidl, SHGDN_FORADDRESSBAR, &strret); + StrRetToBufW(&strret, pidl, crumb1->display_name, MAX_PATH); + + crumb1->hwnd = CreateWindowExW(0, WC_BUTTONW, crumb1->display_name, WS_CHILD, + 0, 0, 0, 0, + info->container_hwnd, (HMENU)IDC_NAVCRUMB, COMDLG32_hInstance, NULL); + SendMessageW(crumb1->hwnd, WM_SETFONT, (LPARAM)gui_font, FALSE); + SendMessageW(crumb1->hwnd, BCM_GETIDEALSIZE, 0, (LPARAM)&full_size); + SetWindowLongPtrW(crumb1->hwnd, GWLP_USERDATA, (LPARAM)crumb1->pidl); + SetWindowSubclass(crumb1->hwnd, NAVBAR_RMBMENU_SubclassProc, 0, (DWORD_PTR)info); + + crumb1->full_w = full_size.cx + padding; + crumb1->current_w = crumb1->full_w; + + list_add_tail(&new_crumbs, &crumb1->entry); You can use `list_add_head` to _prepend_ items to a list. You can avoid reversing the list this way. Sorry for failing to mention this earlier.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/1857#note_20159