Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=49591 Signed-off-by: Myah Caron qsniyg@protonmail.com --- dlls/shell32/shelldispatch.c | 15 +++++++++++++-- dlls/shell32/tests/shelldispatch.c | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/dlls/shell32/shelldispatch.c b/dlls/shell32/shelldispatch.c index 3dcfe0ce626..df0e22191c4 100644 --- a/dlls/shell32/shelldispatch.c +++ b/dlls/shell32/shelldispatch.c @@ -738,9 +738,20 @@ static HRESULT WINAPI ShellLinkObject_Invoke(IShellLinkDual2 *iface, DISPID disp
static HRESULT WINAPI ShellLinkObject_get_Path(IShellLinkDual2 *iface, BSTR *pbs) { - FIXME("(%p, %p)\n", iface, pbs); + ShellLinkObjectImpl *This = impl_from_IShellLinkDual(iface); + WCHAR path[MAX_PATH]; + HRESULT hr;
- return E_NOTIMPL; + TRACE("(%p, %p)\n", iface, pbs); + + *pbs = NULL; + + hr = IShellLinkW_GetPath(This->shell_link, path, MAX_PATH, NULL, 0); + if (hr != S_OK) + return hr; + + *pbs = SysAllocString(path); + return hr; }
static HRESULT WINAPI ShellLinkObject_put_Path(IShellLinkDual2 *iface, BSTR bs) diff --git a/dlls/shell32/tests/shelldispatch.c b/dlls/shell32/tests/shelldispatch.c index 622a3a95f9c..153584fe292 100644 --- a/dlls/shell32/tests/shelldispatch.c +++ b/dlls/shell32/tests/shelldispatch.c @@ -1498,7 +1498,7 @@ static void test_ShellLinkObject(void)
str = (BSTR)0xdeadbeef; hr = IShellLinkDual2_get_Path(sld, &str); - todo_wine ok(hr == S_OK, "got 0x%08x\n", hr); + ok(hr == S_OK, "got 0x%08x\n", hr); if (hr == S_OK) { GetFullPathNameW(L"winetest_empty_file.txt", MAX_PATH, tempW, NULL); ok(!wcscmp(str, tempW), "got %s\n", wine_dbgstr_w(str)); -- 2.28.0
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=78644
Your paranoid android.
=== w2008s64 (32 bit report) ===
shell32: shelldispatch.c:1504: Test failed: got L"C:\Users\Administrator\AppData\Local\Temp\winetest_empty_file.txt"
=== w2008s64 (64 bit report) ===
shell32: shelldispatch.c:1504: Test failed: got L"C:\Users\Administrator\AppData\Local\Temp\winetest_empty_file.txt"