diff --git a/dll/win32/browseui/shellbrowser.cpp b/dll/win32/browseui/shellbrowser.cpp index 4b26884f756..28235334483 100644 --- a/dll/win32/browseui/shellbrowser.cpp +++ b/dll/win32/browseui/shellbrowser.cpp @@ -1355,17 +1355,13 @@ HRESULT CShellBrowser::DoFolderOptions() if (FAILED_UNEXPECTEDLY(hResult)) return E_FAIL; -// CORE-11140 : Disabled this bit, because it prevents the folder options from showing. -// It returns 'E_NOTIMPL' -#if 0 - if (fCurrentShellView != NULL) + if (fCurrentShellView) { hResult = fCurrentShellView->AddPropertySheetPages( 0, AddFolderOptionsPage, reinterpret_cast(&m_PropSheet)); if (FAILED_UNEXPECTEDLY(hResult)) return E_FAIL; } -#endif // show sheet CStringW strFolderOptions(MAKEINTRESOURCEW(IDS_FOLDER_OPTIONS)); diff --git a/dll/win32/shell32/CDefView.cpp b/dll/win32/shell32/CDefView.cpp index 0e60f8eeee2..ce6ad5900a1 100644 --- a/dll/win32/shell32/CDefView.cpp +++ b/dll/win32/shell32/CDefView.cpp @@ -2662,9 +2662,11 @@ HRESULT WINAPI CDefView::GetCurrentInfo(LPFOLDERSETTINGS lpfs) HRESULT WINAPI CDefView::AddPropertySheetPages(DWORD dwReserved, LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam) { - FIXME("(%p) stub\n", this); + TRACE("(%p)->(0x%lX, %p, %p)\n", this, dwReserved, lpfn, lparam); - return E_NOTIMPL; + SFVM_PROPPAGE_DATA Data = { dwReserved, lpfn, lparam }; + _DoFolderViewCB(SFVM_ADDPROPERTYPAGES, 0, (LPARAM)&Data); + return S_OK; } HRESULT WINAPI CDefView::SaveViewState() diff --git a/sdk/include/psdk/shlobj.h b/sdk/include/psdk/shlobj.h index bd60c13064c..23d129f414a 100644 --- a/sdk/include/psdk/shlobj.h +++ b/sdk/include/psdk/shlobj.h @@ -110,6 +110,13 @@ typedef enum typedef int GPFIDL_FLAGS; +typedef struct _SFVM_PROPPAGE_DATA +{ + DWORD dwReserved; + LPFNADDPROPSHEETPAGE pfn; + LPARAM lParam; +} SFVM_PROPPAGE_DATA, *LPSFVM_PROPPAGE_DATA; + UINT WINAPI SHAddFromPropSheetExtArray(