mirror of
https://github.com/reactos/reactos.git
synced 2024-10-02 23:46:50 +00:00
[SHELL32]
* Sync SH{Register,Revoke}DragDrop with Wine 1.5.26. svn path=/trunk/; revision=58855
This commit is contained in:
parent
472acf6982
commit
6f55066617
|
@ -412,6 +412,7 @@ EXTERN_C int WINAPI ShellMessageBoxA(
|
|||
* for details. Under Windows 98 this function initializes the true OLE when called
|
||||
* the first time, on XP always returns E_OUTOFMEMORY and it got removed from Vista.
|
||||
*
|
||||
* We follow Windows 98 behaviour.
|
||||
*
|
||||
* NOTES
|
||||
* exported by ordinal
|
||||
|
@ -423,17 +424,31 @@ HRESULT WINAPI SHRegisterDragDrop(
|
|||
HWND hWnd,
|
||||
LPDROPTARGET pDropTarget)
|
||||
{
|
||||
FIXME("(%p,%p):stub.\n", hWnd, pDropTarget);
|
||||
static BOOL ole_initialized = FALSE;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("(%p,%p)\n", hWnd, pDropTarget);
|
||||
|
||||
if (!ole_initialized)
|
||||
{
|
||||
hr = OleInitialize(NULL);
|
||||
if (FAILED(hr))
|
||||
return hr;
|
||||
ole_initialized = TRUE;
|
||||
}
|
||||
return RegisterDragDrop(hWnd, pDropTarget);
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHRevokeDragDrop [SHELL32.87]
|
||||
*
|
||||
* Probably equivalent to RevokeDragDrop but under Windows 9x it could use the
|
||||
* Probably equivalent to RevokeDragDrop but under Windows 95 it could use the
|
||||
* shell32 built-in "mini-COM" without the need to load ole32.dll - see SHLoadOLE
|
||||
* for details. Function removed from Windows Vista.
|
||||
*
|
||||
* We call ole32 RevokeDragDrop which seems to work even if OleInitialize was
|
||||
* not called.
|
||||
*
|
||||
* NOTES
|
||||
* exported by ordinal
|
||||
*
|
||||
|
@ -442,7 +457,7 @@ HRESULT WINAPI SHRegisterDragDrop(
|
|||
*/
|
||||
HRESULT WINAPI SHRevokeDragDrop(HWND hWnd)
|
||||
{
|
||||
FIXME("(%p):stub.\n",hWnd);
|
||||
TRACE("(%p)\n", hWnd);
|
||||
return RevokeDragDrop(hWnd);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue