Commit b1aaa86e authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

msxml3: Trace backend error even when user error handler is not set.

parent 2329d2af
......@@ -1298,15 +1298,6 @@ static void libxmlFatalError(void *ctx, const char *msg, ...)
DWORD len;
va_list args;
if(!has_error_handler(This))
{
xmlStopParser(This->pParserCtxt);
This->ret = E_FAIL;
return;
}
FIXME("Error handling is not compatible.\n");
va_start(args, msg);
vsprintf(message, msg, args);
va_end(args);
......@@ -1319,6 +1310,16 @@ static void libxmlFatalError(void *ctx, const char *msg, ...)
TRACE("fatal error for %p: %s\n", This, debugstr_w(error));
}
if(!has_error_handler(This))
{
xmlStopParser(This->pParserCtxt);
This->ret = E_FAIL;
heap_free(error);
return;
}
FIXME("Error handling is not compatible.\n");
if(This->vbInterface)
{
BSTR bstrError = SysAllocString(error);
......@@ -1788,7 +1789,7 @@ static HRESULT internal_parseBuffer(saxreader *This, const char *buffer, int siz
locator->pParserCtxt->userData = locator;
This->isParsing = TRUE;
if(xmlParseDocument(locator->pParserCtxt)) hr = E_FAIL;
if(xmlParseDocument(locator->pParserCtxt) == -1) hr = E_FAIL;
else hr = locator->ret;
This->isParsing = FALSE;
......
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