From 071d16d62444f5695f511a46023e03394f7bdd40 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sun, 2 May 2010 03:01:36 +0400 Subject: [PATCH] ole32/tests: Additional test for RevokeDragDrop with destroyed window. --- dlls/ole32/tests/dragdrop.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/dlls/ole32/tests/dragdrop.c b/dlls/ole32/tests/dragdrop.c index ce60978a116..e098354913c 100644 --- a/dlls/ole32/tests/dragdrop.c +++ b/dlls/ole32/tests/dragdrop.c @@ -335,6 +335,23 @@ static void test_Register_Revoke(void) ok(hr == DRAGDROP_E_INVALIDHWND, "RevokeDragDrop with NULL hwnd should return DRAGDROP_E_INVALIDHWND instead of 0x%08x\n", hr); DestroyWindow(hwnd); + + /* try to revoke with already destroyed window */ + OleInitialize(NULL); + + hwnd = CreateWindowA("WineOleTestClass", "Test", 0, + CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, + NULL, NULL, NULL); + + hr = RegisterDragDrop(hwnd, &DropTarget); + ok(hr == S_OK, "got 0x%08x\n", hr); + + DestroyWindow(hwnd); + + hr = RevokeDragDrop(hwnd); + ok(hr == DRAGDROP_E_INVALIDHWND, "got 0x%08x\n", hr); + + OleUninitialize(); } static void test_DoDragDrop(void)