[3/4] shdocvw: Add and use AdviseSinkInerface for IE

Jacek Caban jacek at codeweavers.com
Tue Jul 27 06:42:42 CDT 2010


  On 7/27/10 1:25 PM, Alexander Nicolaysen Sørnes wrote:
> This will be used to change the address bar URL when navigating to new pages

+    *ppvoid = NULL;
+    if(IsEqualGUID(&IID_IAdviseSink, riid))

You also need to handle IUnknown.

+    {
+        *ppvoid = iface;
+        AdviseSink_AddRef(iface);

Direct call to interface function is not really nice.

+typedef struct _AdviseSink {
+    const IAdviseSinkVtbl         *lpAdviseSinkVtbl;
+    LONG ref;
+    DocHost* doc_host;
+} AdviseSink;

Is there any reason to make it a separated struct?

Also, you don't need it for URL change notification. We already have better way of doing that in shdocvw. See IPropertyNotifySink related code.


Jacek




More information about the wine-devel mailing list