Piotr Caban : msxml3: Added ISAXMLReader_putErrorHandler implementation.

Alexandre Julliard julliard at winehq.org
Wed Jul 9 06:10:19 CDT 2008


Module: wine
Branch: master
Commit: be89ee1a3138a83a65a81683f11986d2f5f0ba67
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=be89ee1a3138a83a65a81683f11986d2f5f0ba67

Author: Piotr Caban <piotr.caban at gmail.com>
Date:   Tue Jul  8 20:52:41 2008 +0200

msxml3: Added ISAXMLReader_putErrorHandler implementation.

---

 dlls/msxml3/saxreader.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c
index b68ccae..dfcc9f3 100644
--- a/dlls/msxml3/saxreader.c
+++ b/dlls/msxml3/saxreader.c
@@ -50,6 +50,7 @@ typedef struct _saxreader
     const struct ISAXXMLReaderVtbl *lpSAXXMLReaderVtbl;
     LONG ref;
     struct ISAXContentHandler *contentHandler;
+    struct ISAXErrorHandler *errorHandler;
     xmlSAXHandler sax;
 } saxreader;
 
@@ -115,6 +116,9 @@ static ULONG WINAPI saxxmlreader_Release(
         if(This->contentHandler)
             ISAXContentHandler_Release(This->contentHandler);
 
+        if(This->errorHandler)
+            ISAXErrorHandler_Release(This->errorHandler);
+
         HeapFree( GetProcessHeap(), 0, This );
     }
 
@@ -569,8 +573,14 @@ static HRESULT WINAPI isaxxmlreader_putErrorHandler(
 {
     saxreader *This = impl_from_ISAXXMLReader( iface );
 
-    FIXME("(%p)->(%p) stub\n", This, errorHandler);
-    return E_NOTIMPL;
+    TRACE("(%p)->(%p)\n", This, errorHandler);
+    if(errorHandler)
+        ISAXErrorHandler_AddRef(errorHandler);
+    if(This->errorHandler)
+        ISAXErrorHandler_Release(This->errorHandler);
+    This->errorHandler = errorHandler;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI isaxxmlreader_getBaseURL(
@@ -672,6 +682,7 @@ HRESULT SAXXMLReader_create(IUnknown *pUnkOuter, LPVOID *ppObj)
     reader->lpSAXXMLReaderVtbl = &isaxreader_vtbl;
     reader->ref = 1;
     reader->contentHandler = NULL;
+    reader->errorHandler = NULL;
 
     *ppObj = &reader->lpVtbl;
 




More information about the wine-cvs mailing list