Bug 623401 - schema compiler: process enums first
authorRyan Lortie <desrt@desrt.ca>
Fri, 2 Jul 2010 15:11:45 +0000 (11:11 -0400)
committerRyan Lortie <desrt@desrt.ca>
Fri, 2 Jul 2010 15:11:45 +0000 (11:11 -0400)
Process *.enum.xml before any *.gschema.xml files to ensure that all
enums have been defined.

gio/gschema-compile.c

index d7ae5f8..33d6ea4 100644 (file)
@@ -1601,8 +1601,15 @@ compare_strings (gconstpointer a,
 {
   gchar *one = *(gchar **) a;
   gchar *two = *(gchar **) b;
+  gint cmp;
 
-  return strcmp (one, two);
+  cmp = g_str_has_suffix (two, ".enums.xml") -
+        g_str_has_suffix (one, ".enums.xml");
+
+  if (!cmp)
+    cmp = strcmp (one, two);
+
+  return cmp;
 }
 
 int