1diff --git a/include/iprt/cpp/xml.h b/include/iprt/cpp/xml.h
2index 40975e86..7639c281 100644
3--- a/include/iprt/cpp/xml.h
4+++ b/include/iprt/cpp/xml.h
5@@ -113,9 +113,9 @@ public:
6 class RT_DECL_CLASS XmlError : public RuntimeError
7 {
8 public:
9- XmlError(xmlErrorPtr aErr);
10+ XmlError(const xmlError *aErr);
11
12- static char* Format(xmlErrorPtr aErr);
13+ static char* Format(const xmlError *aErr);
14 };
15
16 // Logical errors
17diff --git a/src/VBox/Runtime/r3/xml.cpp b/src/VBox/Runtime/r3/xml.cpp
18index a6661760..b301a6c6 100644
19--- a/src/VBox/Runtime/r3/xml.cpp
20+++ b/src/VBox/Runtime/r3/xml.cpp
21@@ -131,7 +131,7 @@ LogicError::LogicError(RT_SRC_POS_DECL)
22 RTStrFree(msg);
23 }
24
25-XmlError::XmlError(xmlErrorPtr aErr)
26+XmlError::XmlError(const xmlError *aErr)
27 {
28 if (!aErr)
29 throw EInvalidArg(RT_SRC_POS);
30@@ -145,7 +145,7 @@ XmlError::XmlError(xmlErrorPtr aErr)
31 * Composes a single message for the given error. The caller must free the
32 * returned string using RTStrFree() when no more necessary.
33 */
34-/* static */ char *XmlError::Format(xmlErrorPtr aErr)
35+/* static */ char *XmlError::Format(const xmlError *aErr)
36 {
37 const char *msg = aErr->message ? aErr->message : "<none>";
38 size_t msgLen = strlen(msg);
39@@ -1856,7 +1856,7 @@ static void xmlParserBaseGenericError(void *pCtx, const char *pszMsg, ...) RT_NO
40 va_end(args);
41 }
42
43-static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) RT_NOTHROW_DEF
44+static void xmlParserBaseStructuredError(void *pCtx, const xmlError *error) RT_NOTHROW_DEF
45 {
46 NOREF(pCtx);
47 /* we expect that there is always a trailing NL */