mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-31 12:19:49 +00:00
ole32: Check for COM not being initialised and an invalid window handle being input to RegisterDragDrop.
This commit is contained in:
parent
db4972f1fb
commit
2d8ae2cf83
2 changed files with 10 additions and 8 deletions
|
@ -289,9 +289,18 @@ HRESULT WINAPI RegisterDragDrop(
|
|||
|
||||
TRACE("(%p,%p)\n", hwnd, pDropTarget);
|
||||
|
||||
if (!COM_CurrentApt())
|
||||
{
|
||||
ERR("COM not initialized\n");
|
||||
return CO_E_NOTINITIALIZED;
|
||||
}
|
||||
|
||||
if (!pDropTarget)
|
||||
return E_INVALIDARG;
|
||||
|
||||
|
||||
if (!IsWindow(hwnd))
|
||||
return DRAGDROP_E_INVALIDHWND;
|
||||
|
||||
/*
|
||||
* First, check if the window is already registered.
|
||||
*/
|
||||
|
|
|
@ -113,7 +113,6 @@ START_TEST(dragdrop)
|
|||
HRESULT hr;
|
||||
|
||||
hr = RegisterDragDrop(GetDesktopWindow(), &DropTarget);
|
||||
todo_wine
|
||||
ok(hr == CO_E_NOTINITIALIZED, "RegisterDragDrop without OLE initialized should have returned CO_E_NOTINITIALIZED instead of 0x%08x\n", hr);
|
||||
|
||||
OleInitialize(NULL);
|
||||
|
@ -122,19 +121,14 @@ START_TEST(dragdrop)
|
|||
ok(hr == E_INVALIDARG, "RegisterDragDrop with NULL IDropTarget * should return E_INVALIDARG instead of 0x%08x\n", hr);
|
||||
|
||||
hr = RegisterDragDrop(NULL, &DropTarget);
|
||||
todo_wine
|
||||
ok(hr == DRAGDROP_E_INVALIDHWND, "RegisterDragDrop with NULL hwnd should return DRAGDROP_E_INVALIDHWND instead of 0x%08x\n", hr);
|
||||
|
||||
hr = RegisterDragDrop((HWND)0xdeadbeef, &DropTarget);
|
||||
todo_wine
|
||||
ok(hr == DRAGDROP_E_INVALIDHWND, "RegisterDragDrop with garbage hwnd should return DRAGDROP_E_INVALIDHWND instead of 0x%08x\n", hr);
|
||||
|
||||
todo_wine
|
||||
ok(droptarget_addref_called == 0, "DropTarget_AddRef shouldn't have been called\n");
|
||||
hr = RegisterDragDrop(GetDesktopWindow(), &DropTarget);
|
||||
todo_wine
|
||||
ok_ole_success(hr, "RegisterDragDrop");
|
||||
todo_wine
|
||||
ok(droptarget_addref_called == 1, "DropTarget_AddRef should have been called once, not %d times\n", droptarget_addref_called);
|
||||
|
||||
hr = RegisterDragDrop(GetDesktopWindow(), &DropTarget);
|
||||
|
@ -148,7 +142,6 @@ START_TEST(dragdrop)
|
|||
hr = RevokeDragDrop(GetDesktopWindow());
|
||||
todo_wine
|
||||
ok_ole_success(hr, "RevokeDragDrop");
|
||||
todo_wine
|
||||
ok(droptarget_release_called == 1, "DropTarget_Release should have been called once, not %d times\n", droptarget_release_called);
|
||||
|
||||
hr = RevokeDragDrop(NULL);
|
||||
|
|
Loading…
Reference in a new issue