Nikolay Sivov (@nsivov) commented about dlls/shell32/ebrowser.c:
- return change_viewmode(This, This->fs.ViewMode);
- if (!This->psv)
return E_INVALIDARG;
- hr = IShellView_QueryInterface(This->psv, &IID_IFolderView2, (void *)&view);
- if (SUCCEEDED(hr))
- {
hr = IFolderView2_SetCurrentViewMode(view, This->fs.ViewMode);
if (SUCCEEDED(hr))
{
if (SUCCEEDED(hr))
{
hr = IFolderView2_SetCurrentFolderFlags(view, ~FWF_NONE, FWF_NONE);
if (SUCCEEDED(hr))
hr = IFolderView2_SetCurrentFolderFlags(view, This->fs.fFlags, This->fs.fFlags);
}
My earlier comments affect this too. We need some more tests for setting flags, but I suspect you will simply need to call as (~0u, This->fs.flags).