Module: wine Branch: master Commit: 072383e05b3dbbf3b2395c1a08cebff6c6bbd028 URL: http://source.winehq.org/git/wine.git/?a=commit;h=072383e05b3dbbf3b2395c1a08...
Author: Piotr Caban piotr.caban@gmail.com Date: Thu Jul 17 00:41:01 2008 +0200
msxml3: Added ISAXContentHandler_startDocument event.
---
dlls/msxml3/saxreader.c | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/dlls/msxml3/saxreader.c b/dlls/msxml3/saxreader.c index a50adca..1a3aa37 100644 --- a/dlls/msxml3/saxreader.c +++ b/dlls/msxml3/saxreader.c @@ -79,6 +79,23 @@ static inline saxlocator *impl_from_ISAXLocator( ISAXLocator *iface ) return (saxlocator *)((char*)iface - FIELD_OFFSET(saxlocator, lpSAXLocatorVtbl)); }
+/*** LibXML callbacks ***/ +static void libxmlStartDocument(void *ctx) +{ + saxlocator *This = ctx; + HRESULT hr; + + if(This->saxreader->contentHandler) + { + hr = ISAXContentHandler_startDocument(This->saxreader->contentHandler); + if(FAILED(hr)) + { + xmlStopParser(This->pParserCtxt); + This->ret = hr; + } + } +} + /*** ISAXLocator interface ***/ /*** IUnknown methods ***/ static HRESULT WINAPI isaxlocator_QueryInterface(ISAXLocator* iface, REFIID riid, void **ppvObject) @@ -875,6 +892,7 @@ HRESULT SAXXMLReader_create(IUnknown *pUnkOuter, LPVOID *ppObj)
memset(&reader->sax, 0, sizeof(xmlSAXHandler)); reader->sax.initialized = XML_SAX2_MAGIC; + reader->sax.startDocument = libxmlStartDocument;
*ppObj = &reader->lpVtbl;