[gmime/gmime-2-4] Register all GObject-based types in g_mime_init()



commit 4c29269e00a2dafd468826ec99661a1bf16208e2
Author: Jeffrey Stedfast <fejj gnome org>
Date:   Sat Nov 5 13:45:37 2011 -0400

    Register all GObject-based types in g_mime_init()
    
    2011-11-05  Jeffrey Stedfast  <fejj gnome org>
    
    	* gmime/gmime.c (g_mime_init): Register all GObject-based types
    	* to
    	prevent race conditions in multi-threaded apps.

 ChangeLog                      |    5 +++++
 docs/reference/gmime.hierarchy |   36 ++++++++++++++++++------------------
 gmime/gmime.c                  |   28 ++++++++++++++++++++++++++++
 3 files changed, 51 insertions(+), 18 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 90d89b2..9aa46d9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-05  Jeffrey Stedfast  <fejj gnome org>
+
+	* gmime/gmime.c (g_mime_init): Register all GObject-based types to
+	prevent race conditions in multi-threaded apps.
+
 2011-08-08  Jeffrey Stedfast  <fejj gnome org>
 
 	* README: Bumped version
diff --git a/docs/reference/gmime.hierarchy b/docs/reference/gmime.hierarchy
index 6b97aeb..673029a 100644
--- a/docs/reference/gmime.hierarchy
+++ b/docs/reference/gmime.hierarchy
@@ -1,21 +1,6 @@
 GObject
-  GMimeObject
-    GMimeMessage
-    GMimePart
-      GMimeMessagePartial
-    GMimeMultipart
-      GMimeMultipartEncrypted
-      GMimeMultipartSigned
-    GMimeMessagePart
-  GMimeContentType
-  GMimeContentDisposition
-  InternetAddress
-    InternetAddressGroup
-    InternetAddressMailbox
-  InternetAddressList
   GMimeCipherContext
     GMimeGpgContext
-  GMimeDataWrapper
   GMimeFilter
     GMimeFilterBasic
     GMimeFilterBest
@@ -29,9 +14,6 @@ GObject
     GMimeFilterStrip
     GMimeFilterWindows
     GMimeFilterYenc
-  GMimeParser
-  GMimeSession
-    GMimeSessionSimple
   GMimeStream
     GMimeStreamBuffer
     GMimeStreamCat
@@ -41,5 +23,23 @@ GObject
     GMimeStreamMem
     GMimeStreamMmap
     GMimeStreamNull
+  GMimeParser
+  GMimeObject
+    GMimeMessage
+    GMimePart
+      GMimeMessagePartial
+    GMimeMultipart
+      GMimeMultipartEncrypted
+      GMimeMultipartSigned
+    GMimeMessagePart
+  GMimeContentType
+  GMimeContentDisposition
+  InternetAddress
+    InternetAddressGroup
+    InternetAddressMailbox
+  InternetAddressList
+  GMimeDataWrapper
+  GMimeSession
+    GMimeSessionSimple
 GInterface
   GTypePlugin
diff --git a/gmime/gmime.c b/gmime/gmime.c
index b541459..df8001c 100644
--- a/gmime/gmime.c
+++ b/gmime/gmime.c
@@ -109,6 +109,34 @@ g_mime_init (guint32 flags)
 	gmime_error_quark = g_quark_from_static_string ("gmime");
 	
 	/* register our GObject types with the GType system */
+	g_mime_cipher_context_get_type ();
+	g_mime_gpg_context_get_type ();
+	
+	g_mime_filter_get_type ();
+	g_mime_filter_basic_get_type ();
+	g_mime_filter_best_get_type ();
+	g_mime_filter_charset_get_type ();
+	g_mime_filter_crlf_get_type ();
+	g_mime_filter_enriched_get_type ();
+	g_mime_filter_from_get_type ();
+	g_mime_filter_gzip_get_type ();
+	g_mime_filter_html_get_type ();
+	g_mime_filter_md5_get_type ();
+	g_mime_filter_strip_get_type ();
+	g_mime_filter_windows_get_type ();
+	g_mime_filter_yenc_get_type ();
+	
+	g_mime_stream_get_type ();
+	g_mime_stream_buffer_get_type ();
+	g_mime_stream_cat_get_type ();
+	g_mime_stream_file_get_type ();
+	g_mime_stream_filter_get_type ();
+	g_mime_stream_fs_get_type ();
+	g_mime_stream_mem_get_type ();
+	g_mime_stream_mmap_get_type ();
+	g_mime_stream_null_get_type ();
+	
+	g_mime_parser_get_type ();
 	g_mime_message_get_type ();
 	g_mime_content_type_get_type ();
 	g_mime_content_disposition_get_type ();



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