From d4e14aa0145adf5759d3ef746dd63dc5c6914c7c Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sun, 12 Mar 2017 06:26:54 +0000 Subject: [PATCH] oledb32: Ignore IRunnableObject in IDataSourceLocator_QueryInterface. Signed-off-by: Alistair Leslie-Hughes Signed-off-by: Huw Davies Signed-off-by: Alexandre Julliard --- dlls/oledb32/dslocator.c | 5 +++++ dlls/oledb32/tests/database.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/dlls/oledb32/dslocator.c b/dlls/oledb32/dslocator.c index 11ed3e9905f..5c4bdad0971 100644 --- a/dlls/oledb32/dslocator.c +++ b/dlls/oledb32/dslocator.c @@ -73,6 +73,11 @@ static HRESULT WINAPI dslocator_QueryInterface(IDataSourceLocator *iface, REFIID { *ppvoid = &This->IDataInitialize_iface; } + else if (IsEqualIID(riid, &IID_IRunnableObject)) + { + TRACE("IID_IRunnableObject returning NULL\n"); + return E_NOINTERFACE; + } if(*ppvoid) { diff --git a/dlls/oledb32/tests/database.c b/dlls/oledb32/tests/database.c index 7f71f8b0e1e..f39c2f5c7e1 100644 --- a/dlls/oledb32/tests/database.c +++ b/dlls/oledb32/tests/database.c @@ -859,6 +859,7 @@ static void test_dslocator(void) if(SUCCEEDED(hr)) { IDataInitialize *datainit, *datainit2; + IRunnableObject *runable; COMPATIBLE_LONG hwnd = 0; if (0) /* Crashes under Window 7 */ @@ -898,6 +899,9 @@ static void test_dslocator(void) ok(hr == S_OK, "got %08x\n", hr); ok(datainit == datainit2, "Got %p, previous %p\n", datainit, datainit2); + hr = IDataSourceLocator_QueryInterface(dslocator, &IID_IRunnableObject, (void **)&runable); + ok(hr == E_NOINTERFACE, "got %08x\n", hr); + IDataInitialize_Release(datainit2); IDataInitialize_Release(datainit);