ole32: Handle GetObject() failure in ParseDisplayName() for item moniker.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
7770e0bbaf
commit
dee2fd1147
|
@ -790,13 +790,15 @@ static HRESULT WINAPI ItemMonikerImpl_ParseDisplayName(IMoniker *iface, IBindCtx
|
|||
{
|
||||
hr = IOleItemContainer_GetObject(container, This->itemName, get_bind_speed_from_bindctx(pbc), pbc,
|
||||
&IID_IParseDisplayName, (void **)&parser);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
hr = IMoniker_GetDisplayName(iface,pbc,NULL,&displayName);
|
||||
|
||||
hr = IMoniker_GetDisplayName(iface,pbc,NULL,&displayName);
|
||||
|
||||
hr = IParseDisplayName_ParseDisplayName(parser, pbc, displayName, eaten, ppmkOut);
|
||||
hr = IParseDisplayName_ParseDisplayName(parser, pbc, displayName, eaten, ppmkOut);
|
||||
|
||||
IParseDisplayName_Release(parser);
|
||||
}
|
||||
IOleItemContainer_Release(container);
|
||||
IParseDisplayName_Release(parser);
|
||||
}
|
||||
|
||||
return hr;
|
||||
|
|
|
@ -2141,28 +2141,24 @@ todo_wine
|
|||
hr = IBindCtx_SetBindOptions(bindctx, &bind_opts);
|
||||
ok(hr == S_OK, "Failed to set bind options, hr %#x.\n", hr);
|
||||
hr = IMoniker_ParseDisplayName(moniker, bindctx, &container_moniker->IMoniker_iface, displayname, &eaten, &moniker2);
|
||||
todo_wine
|
||||
ok(hr == (0x8bee0000 | BINDSPEED_INDEFINITE), "Unexpected hr %#x.\n", hr);
|
||||
|
||||
bind_opts.dwTickCountDeadline = 1;
|
||||
hr = IBindCtx_SetBindOptions(bindctx, &bind_opts);
|
||||
ok(hr == S_OK, "Failed to set bind options, hr %#x.\n", hr);
|
||||
hr = IMoniker_ParseDisplayName(moniker, bindctx, &container_moniker->IMoniker_iface, displayname, &eaten, &moniker2);
|
||||
todo_wine
|
||||
ok(hr == (0x8bee0000 | BINDSPEED_IMMEDIATE), "Unexpected hr %#x.\n", hr);
|
||||
|
||||
bind_opts.dwTickCountDeadline = 2499;
|
||||
hr = IBindCtx_SetBindOptions(bindctx, &bind_opts);
|
||||
ok(hr == S_OK, "Failed to set bind options, hr %#x.\n", hr);
|
||||
hr = IMoniker_ParseDisplayName(moniker, bindctx, &container_moniker->IMoniker_iface, displayname, &eaten, &moniker2);
|
||||
todo_wine
|
||||
ok(hr == (0x8bee0000 | BINDSPEED_IMMEDIATE), "Unexpected hr %#x.\n", hr);
|
||||
|
||||
bind_opts.dwTickCountDeadline = 2500;
|
||||
hr = IBindCtx_SetBindOptions(bindctx, &bind_opts);
|
||||
ok(hr == S_OK, "Failed to set bind options, hr %#x.\n", hr);
|
||||
hr = IMoniker_ParseDisplayName(moniker, bindctx, &container_moniker->IMoniker_iface, displayname, &eaten, &moniker2);
|
||||
todo_wine
|
||||
ok(hr == (0x8bee0000 | BINDSPEED_MODERATE), "Unexpected hr %#x.\n", hr);
|
||||
|
||||
IMoniker_Release(&container_moniker->IMoniker_iface);
|
||||
|
|
Loading…
Reference in New Issue