shell32: Return S_OK in ::SetPropertyBag.
David Hedberg
david.hedberg at gmail.com
Sun Dec 19 15:11:23 CST 2010
---
dlls/shell32/ebrowser.c | 10 +++++++++-
dlls/shell32/tests/ebrowser.c | 7 +++++++
2 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/dlls/shell32/ebrowser.c b/dlls/shell32/ebrowser.c
index 87ff578..6792593 100644
--- a/dlls/shell32/ebrowser.c
+++ b/dlls/shell32/ebrowser.c
@@ -929,7 +929,15 @@ static HRESULT WINAPI IExplorerBrowser_fnSetPropertyBag(IExplorerBrowser *iface,
ExplorerBrowserImpl *This = (ExplorerBrowserImpl*)iface;
FIXME("stub, %p (%s)\n", This, debugstr_w(pszPropertyBag));
- return E_NOTIMPL;
+ if(!pszPropertyBag)
+ return E_INVALIDARG;
+
+ /* FIXME: This method is currently useless as we don't save any
+ * settings anywhere, but at least one application breaks if we
+ * return E_NOTIMPL.
+ */
+
+ return S_OK;
}
static HRESULT WINAPI IExplorerBrowser_fnSetEmptyText(IExplorerBrowser *iface,
diff --git a/dlls/shell32/tests/ebrowser.c b/dlls/shell32/tests/ebrowser.c
index faaf6c7..d2d4f5c 100644
--- a/dlls/shell32/tests/ebrowser.c
+++ b/dlls/shell32/tests/ebrowser.c
@@ -1037,6 +1037,7 @@ static void test_basics(void)
HDWP hdwp;
RECT rc;
HRESULT hr;
+ static const WCHAR winetest[] = {'W','i','n','e','T','e','s','t',0};
ebrowser_instantiate(&peb);
ebrowser_initialize(peb);
@@ -1126,6 +1127,12 @@ static void test_basics(void)
hr = IExplorerBrowser_SetFolderSettings(peb, &fs);
todo_wine ok(hr == E_INVALIDARG, "got (0x%08x)\n", hr);
+ /* SetPropertyBag */
+ hr = IExplorerBrowser_SetPropertyBag(peb, NULL);
+ ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+ hr = IExplorerBrowser_SetPropertyBag(peb, winetest);
+ ok(hr == S_OK, "Got 0x%08x\n", hr);
+
/* TODO: Test after browsing somewhere. */
IExplorerBrowser_Destroy(peb);
--
1.7.3.3
More information about the wine-patches
mailing list