[glib] GSettings: accept <flags> as an alias for <enum>



commit 40d5da99d6d07bdbb6267f6b5625ac2ca93e85ea
Author: Ryan Lortie <desrt desrt ca>
Date:   Wed Jun 30 13:27:38 2010 -0400

    GSettings: accept <flags> as an alias for <enum>
    
    until we have proper support for flags...

 gio/gschema-compile.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/gio/gschema-compile.c b/gio/gschema-compile.c
index 37ddf33..cc1e3e3 100644
--- a/gio/gschema-compile.c
+++ b/gio/gschema-compile.c
@@ -1117,7 +1117,8 @@ start_element (GMarkupParseContext  *context,
           return;
         }
 
-      else if (strcmp (element_name, "enum") == 0)
+      else if (strcmp (element_name, "enum") == 0 ||
+               strcmp (element_name, "flags") == 0)
         {
           const gchar *id;
           if (COLLECT (STRING, "id", &id))
@@ -1239,7 +1240,8 @@ start_element (GMarkupParseContext  *context,
 
 
   /* children of <enum> {{{3 */
-  else if (strcmp (container, "enum") == 0)
+  else if (strcmp (container, "enum") == 0 ||
+           strcmp (container, "flags") == 0)
     {
       if (strcmp (element_name, "value") == 0)
         {
@@ -1305,7 +1307,8 @@ end_element (GMarkupParseContext  *context,
       state->schemalist_domain = NULL;
     }
 
-  else if (strcmp (element_name, "enum") == 0)
+  else if (strcmp (element_name, "enum") == 0 ||
+           strcmp (element_name, "flags") == 0)
     enum_state_end (&state->enum_state, error);
 
   else if (strcmp (element_name, "schema") == 0)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]