[tracker] libtracker-data: Shutdown locale in error case



commit 2dc4104f373c617ca7b47bc9c18d7e91345d64a5
Author: Philip Van Hoof <philip codeminded be>
Date:   Thu Jun 16 15:41:59 2011 +0200

    libtracker-data: Shutdown locale in error case
    
    Fixes NB#266579.

 src/libtracker-data/tracker-data-manager.c |   81 ++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 0 deletions(-)
---
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index 3bdcd89..0cf8765 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -3509,6 +3509,10 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 	                              busy_operation,
 	                              &internal_error)) {
 
+		if (!reloading) {
+			tracker_locale_shutdown ();
+		}
+
 		g_propagate_error (error, internal_error);
 
 		return FALSE;
@@ -3544,6 +3548,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 			                      TRACKER_DB_JOURNAL_ERROR,
 			                      TRACKER_DB_JOURNAL_ERROR_BEGIN_OF_JOURNAL)) {
 				g_propagate_error (error, internal_error);
+
+				if (!reloading) {
+					tracker_locale_shutdown ();
+				}
+
 				return FALSE;
 			} else {
 				g_clear_error (&internal_error);
@@ -3576,6 +3585,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 					              TRACKER_DB_JOURNAL_ERROR,
 					              TRACKER_DB_JOURNAL_ERROR_BEGIN_OF_JOURNAL)) {
 					g_propagate_error (error, internal_error);
+
+					if (!reloading) {
+						tracker_locale_shutdown ();
+					}
+
 					return FALSE;
 				} else {
 					g_clear_error (&internal_error);
@@ -3601,6 +3615,10 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 			if (internal_error) {
 				g_propagate_error (error, internal_error);
 
+				if (!reloading) {
+					tracker_locale_shutdown ();
+				}
+
 				return FALSE;
 			}
 		}
@@ -3656,6 +3674,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 		tracker_data_begin_ontology_transaction (&internal_error);
 		if (internal_error) {
 			g_propagate_error (error, internal_error);
+
+			if (!reloading) {
+				tracker_locale_shutdown ();
+			}
+
 			return FALSE;
 		}
 
@@ -3667,6 +3690,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 
 		if (internal_error) {
 			g_propagate_error (error, internal_error);
+
+			if (!reloading) {
+				tracker_locale_shutdown ();
+			}
+
 			return FALSE;
 		}
 
@@ -3683,6 +3711,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 				                              &internal_error);
 				if (internal_error) {
 					g_propagate_error (error, internal_error);
+
+					if (!reloading) {
+						tracker_locale_shutdown ();
+					}
+
 					return FALSE;
 				}
 			}
@@ -3709,6 +3742,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 		tracker_data_commit_transaction (&internal_error);
 		if (internal_error) {
 			g_propagate_error (error, internal_error);
+
+			if (!reloading) {
+				tracker_locale_shutdown ();
+			}
+
 			return FALSE;
 		}
 
@@ -3727,6 +3765,10 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 			if (internal_error) {
 				g_propagate_error (error, internal_error);
 
+				if (!reloading) {
+					tracker_locale_shutdown ();
+				}
+
 				return FALSE;
 			}
 
@@ -3915,6 +3957,8 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 							g_hash_table_unref (uri_id_map);
 						}
 						initialized = TRUE;
+
+						/* This also does tracker_locale_shutdown */
 						tracker_data_manager_shutdown ();
 
 						return tracker_data_manager_init (flags,
@@ -3978,6 +4022,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 					tracker_data_commit_transaction (&internal_error);
 					if (internal_error) {
 						g_propagate_error (error, internal_error);
+
+						if (!reloading) {
+							tracker_locale_shutdown ();
+						}
+
 						return FALSE;
 					}
 
@@ -3993,6 +4042,8 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 						g_hash_table_unref (uri_id_map);
 					}
 					initialized = TRUE;
+
+					/* This also does tracker_locale_shutdown */
 					tracker_data_manager_shutdown ();
 
 					return tracker_data_manager_init (flags,
@@ -4073,6 +4124,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 				tracker_data_commit_transaction (&internal_error);
 				if (internal_error) {
 					g_propagate_error (error, internal_error);
+
+					if (!reloading) {
+						tracker_locale_shutdown ();
+					}
+
 					return FALSE;
 				}
 
@@ -4088,6 +4144,8 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 					g_hash_table_unref (uri_id_map);
 				}
 				initialized = TRUE;
+
+				/* This also does tracker_locale_shutdown */
 				tracker_data_manager_shutdown ();
 
 				return tracker_data_manager_init (flags,
@@ -4105,6 +4163,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 			if (ontology_error) {
 				g_critical ("Fatal error dealing with ontology changes: %s", ontology_error->message);
 				g_propagate_error (error, ontology_error);
+
+				if (!reloading) {
+					tracker_locale_shutdown ();
+				}
+
 				return FALSE;
 			}
 
@@ -4130,6 +4193,10 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 			tracker_data_commit_transaction (&internal_error);
 			if (internal_error) {
 				g_propagate_error (error, internal_error);
+				if (!reloading) {
+					tracker_locale_shutdown ();
+				}
+
 				return FALSE;
 			}
 		}
@@ -4170,6 +4237,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 
 			g_hash_table_unref (uri_id_map);
 			g_propagate_error (error, internal_error);
+
+			if (!reloading) {
+				tracker_locale_shutdown ();
+			}
+
 			return FALSE;
 		}
 
@@ -4182,6 +4254,10 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 			g_hash_table_unref (uri_id_map);
 			g_propagate_error (error, internal_error);
 
+			if (!reloading) {
+				tracker_locale_shutdown ();
+			}
+
 			return FALSE;
 		}
 
@@ -4205,6 +4281,11 @@ tracker_data_manager_init (TrackerDBManagerFlags   flags,
 
 		if (internal_error) {
 			g_propagate_error (error, internal_error);
+
+			if (!reloading) {
+				tracker_locale_shutdown ();
+			}
+
 			return FALSE;
 		}
 



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