Bug 555313 – GFileAttribute boxed type get_type function should use
authorChristian Persch <chpe@src.gnome.org>
Wed, 8 Oct 2008 20:54:39 +0000 (20:54 +0000)
committerChristian Persch <chpe@src.gnome.org>
Wed, 8 Oct 2008 20:54:39 +0000 (20:54 +0000)
usual get_type pattern

svn path=/trunk/; revision=7580

ChangeLog
gio/gfileattribute.c

index f4fc6ab75d5f0f14ba73fef1a63dcf0aa11e906c..ff93dc8cdc2e6a658c79dcf2e9666f97cef00478 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-10-08  Christian Persch  <chpe@gnome.org>
+
+        Bug 555313 – GFileAttribute boxed type get_type function should
+        use usual get_type pattern
+
+        * gio/gfileattribute.c (g_file_attribute_info_list_get_type): Use
+        g_once_init_enter/leave.
+
 2008-10-08  Christian Persch  <chpe@gnome.org>
 
         Bug 555314 – mem leak in gmarkup
index bea20daae0ad89ff287c5436eb528a23a9f6c949..76bdf61196e421a91f2b0ebc7ed022afab3ef19d 100644 (file)
@@ -329,13 +329,19 @@ _g_file_attribute_value_dup (const GFileAttributeValue *other)
 GType
 g_file_attribute_info_list_get_type (void)
 {
-  static GType type_id = 0;
+  static volatile gsize g_define_type_id__volatile = 0;
 
-  if (!type_id)
-    type_id = g_boxed_type_register_static (g_intern_static_string ("GFileAttributeInfoList"),
-                                           (GBoxedCopyFunc) g_file_attribute_info_list_dup,
-                                           (GBoxedFreeFunc) g_file_attribute_info_list_unref);
-  return type_id;
+  if (g_once_init_enter (&g_define_type_id__volatile))
+    {
+      GType g_define_type_id =
+        g_boxed_type_register_static (I_("GFileAttributeInfoList"),
+                                      (GBoxedCopyFunc) g_file_attribute_info_list_dup,
+                                      (GBoxedFreeFunc) g_file_attribute_info_list_unref);
+
+      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+    }
+
+  return g_define_type_id__volatile;
 }
 
 static gboolean