mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
108 lines
3.7 KiB
Diff
108 lines
3.7 KiB
Diff
From 02c2de6fb0417b118d575b38afadb9d893b364e9 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
|
Date: Sat, 15 Aug 2015 18:06:36 +0200
|
|
Subject: shell32: Add IDragSourceHelper stub interface.
|
|
|
|
---
|
|
dlls/shell32/dragdrophelper.c | 56 +++++++++++++++++++++++++++++++++++++++++++
|
|
1 file changed, 56 insertions(+)
|
|
|
|
diff --git a/dlls/shell32/dragdrophelper.c b/dlls/shell32/dragdrophelper.c
|
|
index 2705793..91dacc9 100644
|
|
--- a/dlls/shell32/dragdrophelper.c
|
|
+++ b/dlls/shell32/dragdrophelper.c
|
|
@@ -51,6 +51,7 @@ WINE_DEFAULT_DEBUG_CHANNEL (shell);
|
|
typedef struct
|
|
{
|
|
IDropTargetHelper IDropTargetHelper_iface;
|
|
+ IDragSourceHelper IDragSourceHelper_iface;
|
|
LONG ref;
|
|
} IDragHelperImpl;
|
|
|
|
@@ -59,6 +60,11 @@ static inline IDragHelperImpl *impl_from_IDropTargetHelper(IDropTargetHelper *if
|
|
return CONTAINING_RECORD(iface, IDragHelperImpl, IDropTargetHelper_iface);
|
|
}
|
|
|
|
+static inline IDragHelperImpl *impl_from_IDragSourceHelper(IDragSourceHelper *iface)
|
|
+{
|
|
+ return CONTAINING_RECORD(iface, IDragHelperImpl, IDragSourceHelper_iface);
|
|
+}
|
|
+
|
|
/**************************************************************************
|
|
* IDropTargetHelper_fnQueryInterface
|
|
*/
|
|
@@ -74,6 +80,10 @@ static HRESULT WINAPI IDropTargetHelper_fnQueryInterface (IDropTargetHelper * if
|
|
{
|
|
*ppvObj = &This->IDropTargetHelper_iface;
|
|
}
|
|
+ else if (IsEqualIID (riid, &IID_IDragSourceHelper))
|
|
+ {
|
|
+ *ppvObj = &This->IDragSourceHelper_iface;
|
|
+ }
|
|
|
|
if (*ppvObj)
|
|
{
|
|
@@ -160,6 +170,51 @@ static const IDropTargetHelperVtbl vt_IDropTargetHelper =
|
|
IDropTargetHelper_fnShow
|
|
};
|
|
|
|
+static HRESULT WINAPI IDragSourceHelper_fnQueryInterface (IDragSourceHelper * iface, REFIID riid, LPVOID * ppv)
|
|
+{
|
|
+ IDragHelperImpl *This = impl_from_IDragSourceHelper(iface);
|
|
+ return IDropTargetHelper_fnQueryInterface(&This->IDropTargetHelper_iface, riid, ppv);
|
|
+}
|
|
+
|
|
+static ULONG WINAPI IDragSourceHelper_fnAddRef (IDragSourceHelper * iface)
|
|
+{
|
|
+ IDragHelperImpl *This = impl_from_IDragSourceHelper(iface);
|
|
+ return IDropTargetHelper_fnAddRef(&This->IDropTargetHelper_iface);
|
|
+}
|
|
+
|
|
+static ULONG WINAPI IDragSourceHelper_fnRelease (IDragSourceHelper * iface)
|
|
+{
|
|
+ IDragHelperImpl *This = impl_from_IDragSourceHelper(iface);
|
|
+ return IDropTargetHelper_fnRelease(&This->IDropTargetHelper_iface);
|
|
+}
|
|
+
|
|
+static HRESULT WINAPI IDragSourceHelper_fnInitializeFromBitmap(IDragSourceHelper * iface, LPSHDRAGIMAGE pshdi,
|
|
+ IDataObject *object)
|
|
+{
|
|
+ IDragHelperImpl *This = impl_from_IDragSourceHelper(iface);
|
|
+
|
|
+ FIXME("(%p)->(%p, %p): stub\n", This, pshdi, object);
|
|
+ return S_OK;
|
|
+}
|
|
+
|
|
+static HRESULT WINAPI IDragSourceHelper_fnInitializeFromWindow(IDragSourceHelper * iface, HWND hwnd, POINT *ppt,
|
|
+ IDataObject *object)
|
|
+{
|
|
+ IDragHelperImpl *This = impl_from_IDragSourceHelper(iface);
|
|
+
|
|
+ FIXME("(%p)->(%p, %p, %p): stub\n", This, hwnd, ppt, object);
|
|
+ return S_OK;
|
|
+}
|
|
+
|
|
+static const IDragSourceHelperVtbl vt_IDragSourceHelper =
|
|
+{
|
|
+ IDragSourceHelper_fnQueryInterface,
|
|
+ IDragSourceHelper_fnAddRef,
|
|
+ IDragSourceHelper_fnRelease,
|
|
+ IDragSourceHelper_fnInitializeFromBitmap,
|
|
+ IDragSourceHelper_fnInitializeFromWindow
|
|
+};
|
|
+
|
|
/**************************************************************************
|
|
* IDropTargetHelper_Constructor
|
|
*/
|
|
@@ -179,6 +234,7 @@ HRESULT WINAPI IDropTargetHelper_Constructor (IUnknown * pUnkOuter, REFIID riid,
|
|
|
|
dth->ref = 0;
|
|
dth->IDropTargetHelper_iface.lpVtbl = &vt_IDropTargetHelper;
|
|
+ dth->IDragSourceHelper_iface.lpVtbl = &vt_IDragSourceHelper;
|
|
|
|
if (FAILED(IDropTargetHelper_QueryInterface (&dth->IDropTargetHelper_iface, riid, ppv)))
|
|
{
|
|
--
|
|
2.5.0
|
|
|