diff --git a/dlls/ole32/clipboard.c b/dlls/ole32/clipboard.c index a74e71a12e6..909b21547d2 100644 --- a/dlls/ole32/clipboard.c +++ b/dlls/ole32/clipboard.c @@ -583,6 +583,9 @@ HRESULT WINAPI OleIsCurrentClipboard(IDataObject *pDataObject) if (!theOleClipboard) return E_OUTOFMEMORY; + if (pDataObject == NULL) + return S_FALSE; + return (pDataObject == theOleClipboard->pIDataObjectSrc) ? S_OK : S_FALSE; } diff --git a/dlls/ole32/tests/clipboard.c b/dlls/ole32/tests/clipboard.c index c231d49e398..ee912ce773e 100644 --- a/dlls/ole32/tests/clipboard.c +++ b/dlls/ole32/tests/clipboard.c @@ -472,7 +472,7 @@ static void test_set_clipboard(void) hr = OleIsCurrentClipboard(data2); ok(hr == S_FALSE, "did not expect current clipboard to be data2, hr = 0x%08x\n", hr); hr = OleIsCurrentClipboard(NULL); - todo_wine ok(hr == S_FALSE, "expect S_FALSE, hr = 0x%08x\n", hr); + ok(hr == S_FALSE, "expect S_FALSE, hr = 0x%08x\n", hr); ok(OleSetClipboard(NULL) == S_OK, "failed to clear clipboard, hr = 0x%08x\n", hr);