[glib] Inherit gettext-domain from <schemalist>
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib] Inherit gettext-domain from <schemalist>
- Date: Sun, 28 Nov 2010 18:01:45 +0000 (UTC)
commit 57143e311d600d3d7bd1f3c901d257918fcdb381
Author: Christian Persch <chpe gnome org>
Date: Fri Nov 26 21:05:20 2010 +0100
Inherit gettext-domain from <schemalist>
When the <schema> doesn't have a 'gettext-domain' attribute, but
the <schemalist> does, use that one.
Bug #635640.
gio/glib-compile-schemas.c | 4 +++-
gio/tests/Makefile.am | 1 +
gio/tests/gschema-compile.c | 4 +++-
.../inherit-gettext-domain.gschema.xml | 8 ++++++++
4 files changed, 15 insertions(+), 2 deletions(-)
---
diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
index 7fe907c..a00e45d 100644
--- a/gio/glib-compile-schemas.c
+++ b/gio/glib-compile-schemas.c
@@ -1228,7 +1228,9 @@ start_element (GMarkupParseContext *context,
OPTIONAL | STRING, "gettext-domain", &gettext_domain,
OPTIONAL | STRING, "extends", &extends,
OPTIONAL | STRING, "list-of", &list_of))
- parse_state_start_schema (state, id, path, gettext_domain,
+ parse_state_start_schema (state, id, path,
+ gettext_domain ? gettext_domain
+ : state->schemalist_domain,
extends, list_of, error);
return;
}
diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am
index ad2273a..def7392 100644
--- a/gio/tests/Makefile.am
+++ b/gio/tests/Makefile.am
@@ -374,6 +374,7 @@ schema_tests = \
schema-tests/extending.gschema.xml \
schema-tests/from-docs.gschema.xml \
schema-tests/incomplete-list.gschema.xml \
+ schema-tests/inherit-gettext-domain.gschema.xml \
schema-tests/invalid-path.gschema.xml \
schema-tests/key-in-list-indirect.gschema.xml \
schema-tests/key-in-list.gschema.xml \
diff --git a/gio/tests/gschema-compile.c b/gio/tests/gschema-compile.c
index 1d261eb..caefb89 100644
--- a/gio/tests/gschema-compile.c
+++ b/gio/tests/gschema-compile.c
@@ -117,9 +117,11 @@ static const SchemaTest tests[] = {
{ "flags-bad-default", NULL, "*<default> * not in the specified flags type*" },
{ "flags-more-than-one-bit", NULL, "*flags values must have at most 1 bit set*" },
{ "flags-with-enum-attr", NULL, "*<enum id='flags'> not (yet) defined*" },
- { "flags-with-enum-tag", NULL, "*<flags id='flags'> not (yet) defined*" }
+ { "flags-with-enum-tag", NULL, "*<flags id='flags'> not (yet) defined*" },
+ { "inherit-gettext-domain", NULL, NULL }
};
+
int
main (int argc, char *argv[])
{
diff --git a/gio/tests/schema-tests/inherit-gettext-domain.gschema.xml b/gio/tests/schema-tests/inherit-gettext-domain.gschema.xml
new file mode 100644
index 0000000..1f0ca89
--- /dev/null
+++ b/gio/tests/schema-tests/inherit-gettext-domain.gschema.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schemalist gettext-domain="foo">
+ <schema id="bar">
+ <key name="baz" type="s">
+ <default l10n="messages" context="foobar">'value'</default>
+ </key>
+ </schema>
+</schemalist>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]