Module: wine Branch: master Commit: 072383e05b3dbbf3b2395c1a08cebff6c6bbd028 URL: http://source.winehq.org/git/wine.git/?a=commit;h=072383e05b3dbbf3b2395c1a08... Author: Piotr Caban <piotr.caban(a)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;