Nikolay Sivov (@nsivov) commented about dlls/shell32/shlview.c:
static HRESULT WINAPI FolderView2_SetCurrentFolderFlags(IFolderView2 *iface, DWORD mask, DWORD flags) { IShellViewImpl *This = impl_from_IFolderView2(iface);
- FIXME("(%p)->(0x%08lx 0x%08lx), stub\n", This, mask, flags);
- return E_NOTIMPL;
- TRACE("(%p)->(%#lx %#lx).\n", This, mask, flags);
- if (flags == FWF_NONE)
This->FolderSettings.fFlags &= ~mask;
- else
This->FolderSettings.fFlags |= flags & mask;
That's not how this usually works. Mask is used to specify flags that you want to change. So first you would unset bits that are in a mask but not in flags, and then set bits that are in mask and flags.