[gegl] gegl: simplify translation of gegl-op.h enum value names



commit b6210eda639aa2b8fb6f7550ab530c1a9be0d3d4
Author: Michael Natterer <mitch gimp org>
Date:   Mon May 26 00:06:18 2014 +0200

    gegl: simplify translation of gegl-op.h enum value names

 gegl/gegl-op.h |   33 ++++++++++++++-------------------
 1 files changed, 14 insertions(+), 19 deletions(-)
---
diff --git a/gegl/gegl-op.h b/gegl/gegl-op.h
index 35e78e2..d34cc0d 100644
--- a/gegl/gegl-op.h
+++ b/gegl/gegl-op.h
@@ -283,25 +283,20 @@ GType enum_name ## _get_type (void)               \
 #define enum_value(value, nick, name)                \
       { value, name, nick },
 
-#define enum_end(enum)                                              \
-      { 0, NULL, NULL }                                             \
-    };                                                              \
-    etype = g_enum_register_static (#enum, values);                 \
-    if (gegl_op_gettext_package)                                    \
-      {                                                             \
-        GEnumClass *enum_class = g_type_class_ref (etype);          \
-        gint i;                                                     \
-        for (i = enum_class->minimum; i <= enum_class->maximum; i++)\
-          {                                                         \
-            GEnumValue *value = g_enum_get_value (enum_class, i);   \
-            if (value)                                              \
-              value->value_name =                                   \
-                dgettext (GETTEXT_PACKAGE, value->value_name);      \
-          }                                                         \
-        g_type_class_unref (enum_class);                            \
-      }                                                             \
-  }                                                                 \
-  return etype;                                                     \
+#define enum_end(enum)                                            \
+      { 0, NULL, NULL }                                           \
+    };                                                            \
+    if (gegl_op_gettext_package)                                  \
+      {                                                           \
+        gint i;                                                   \
+        for (i = 0; i < G_N_ELEMENTS (values); i++)               \
+          if (values[i].value_name)                               \
+            values[i].value_name =                                \
+              dgettext (GETTEXT_PACKAGE, values[i].value_name);   \
+      }                                                           \
+    etype = g_enum_register_static (#enum, values);               \
+  }                                                               \
+  return etype;                                                   \
 }
 
 #include GEGL_OP_C_FILE


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