Commit 18fb9ace authored by Mike McCormack's avatar Mike McCormack Committed by Alexandre Julliard

Implement GetAdvise and SetAdvise.

parent 213c17e5
...@@ -97,6 +97,9 @@ typedef struct ...@@ -97,6 +97,9 @@ typedef struct
LISTVIEW_SORT_INFO ListViewSortInfo; LISTVIEW_SORT_INFO ListViewSortInfo;
ULONG hNotify; /* change notification handle */ ULONG hNotify; /* change notification handle */
HANDLE hAccel; HANDLE hAccel;
DWORD dwAspects;
DWORD dwAdvf;
IAdviseSink *pAdvSink;
} IShellViewImpl; } IShellViewImpl;
static struct IShellViewVtbl svvt; static struct IShellViewVtbl svvt;
...@@ -1664,9 +1667,12 @@ static ULONG WINAPI IShellView_fnRelease(IShellView * iface) ...@@ -1664,9 +1667,12 @@ static ULONG WINAPI IShellView_fnRelease(IShellView * iface)
if(This->pSF2Parent) if(This->pSF2Parent)
IShellFolder2_Release(This->pSF2Parent); IShellFolder2_Release(This->pSF2Parent);
if (This->apidl) if(This->apidl)
SHFree(This->apidl); SHFree(This->apidl);
if(This->pAdvSink)
IAdviseSink_Release(This->pAdvSink);
HeapFree(GetProcessHeap(),0,This); HeapFree(GetProcessHeap(),0,This);
} }
return refCount; return refCount;
...@@ -2372,10 +2378,17 @@ static HRESULT WINAPI ISVViewObject_SetAdvise( ...@@ -2372,10 +2378,17 @@ static HRESULT WINAPI ISVViewObject_SetAdvise(
_ICOM_THIS_From_IViewObject(IShellViewImpl, iface); _ICOM_THIS_From_IViewObject(IShellViewImpl, iface);
FIXME("Stub: This=%p\n",This); FIXME("partial stub: %p %08lx %08lx %p\n",
This, aspects, advf, pAdvSink);
return E_NOTIMPL; /* FIXME: we set the AdviseSink, but never use it to send any advice */
This->pAdvSink = pAdvSink;
This->dwAspects = aspects;
This->dwAdvf = advf;
return S_OK;
} }
static HRESULT WINAPI ISVViewObject_GetAdvise( static HRESULT WINAPI ISVViewObject_GetAdvise(
IViewObject *iface, IViewObject *iface,
DWORD* pAspects, DWORD* pAspects,
...@@ -2385,9 +2398,20 @@ static HRESULT WINAPI ISVViewObject_GetAdvise( ...@@ -2385,9 +2398,20 @@ static HRESULT WINAPI ISVViewObject_GetAdvise(
_ICOM_THIS_From_IViewObject(IShellViewImpl, iface); _ICOM_THIS_From_IViewObject(IShellViewImpl, iface);
FIXME("Stub: This=%p\n",This); TRACE("This=%p pAspects=%p pAdvf=%p ppAdvSink=%p\n",
This, pAspects, pAdvf, ppAdvSink);
return E_NOTIMPL; if( ppAdvSink )
{
IAdviseSink_AddRef( This->pAdvSink );
*ppAdvSink = This->pAdvSink;
}
if( pAspects )
*pAspects = This->dwAspects;
if( pAdvf )
*pAdvf = This->dwAdvf;
return S_OK;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment