[glib] Inherit gettext-domain from <schemalist>



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]