+++ /dev/null
-diff -up dbus-glib-0.73/dbus/dbus-gparser.c.ignore-namespaces dbus-glib-0.73/dbus/dbus-gparser.c
---- dbus-glib-0.73/dbus/dbus-gparser.c.ignore-namespaces 2006-09-27 08:27:24.000000000 -0400
-+++ dbus-glib-0.73/dbus/dbus-gparser.c 2008-03-13 08:54:14.000000000 -0400
-@@ -128,13 +128,17 @@ locate_attributes (const char *element_
-
- if (!found)
- {
-- g_set_error (error,
-- G_MARKUP_ERROR,
-- G_MARKUP_ERROR_PARSE,
-- _("Attribute \"%s\" is invalid on <%s> element in this context"),
-- attribute_names[i], element_name);
-- retval = FALSE;
-- goto out;
-+ /* We want to passthrough namespaced XML nodes that we don't know anything about. */
-+ if (strchr (attribute_names[i], ':') == NULL)
-+ {
-+ g_set_error (error,
-+ G_MARKUP_ERROR,
-+ G_MARKUP_ERROR_PARSE,
-+ _("Attribute \"%s\" is invalid on <%s> element in this context"),
-+ attribute_names[i], element_name);
-+ retval = FALSE;
-+ goto out;
-+ }
- }
-
- ++i;
-@@ -177,6 +181,7 @@ struct Parser
- PropertyInfo *property;
- ArgInfo *arg;
- gboolean in_annotation;
-+ guint unknown_namespaced_depth;
- };
-
- Parser*
-@@ -791,10 +796,14 @@ parser_start_element (Parser *parse
- }
- else
- {
-- g_set_error (error, G_MARKUP_ERROR,
-- G_MARKUP_ERROR_PARSE,
-- _("Element <%s> not recognized"),
-- element_name);
-+ if (strchr (element_name, ':') != NULL)
-+ /* Passthrough XML-namespaced nodes */
-+ parser->unknown_namespaced_depth += 1;
-+ else if (parser->unknown_namespaced_depth == 0)
-+ g_set_error (error, G_MARKUP_ERROR,
-+ G_MARKUP_ERROR_PARSE,
-+ _("Element <%s> not recognized"),
-+ element_name);
- }
-
- return TRUE;
-@@ -844,6 +853,15 @@ parser_end_element (Parser *parser,
- if (parser->node_stack == NULL)
- parser->result = top; /* We are done, store the result */
- }
-+ else if (strchr (element_name, ':') != NULL)
-+ {
-+ /* Passthrough XML-namespaced nodes */
-+ parser->unknown_namespaced_depth -= 1;
-+ }
-+ else if (parser->unknown_namespaced_depth > 0)
-+ {
-+ /* pass through unknown elements underneath a namespace */
-+ }
- else
- g_assert_not_reached (); /* should have had an error on start_element */
-
-diff -up dbus-glib-0.73/dbus/dbus-glib-tool.c.ignore-namespaces dbus-glib-0.73/dbus/dbus-glib-tool.c
---- dbus-glib-0.73/dbus/dbus-glib-tool.c.ignore-namespaces 2008-03-13 08:31:21.000000000 -0400
-+++ dbus-glib-0.73/dbus/dbus-glib-tool.c 2008-03-13 08:32:15.000000000 -0400
-@@ -414,7 +414,7 @@ main (int argc, char **argv)
- &error);
- if (node == NULL)
- {
-- lose_gerror (_("Unable to load \"%s\""), error);
-+ lose (_("Unable to load \"%s\": %s"), filename, error->message);
- }
- else
- {