gnome-keyring r1191 - in trunk: . common



Author: nnielsen
Date: Mon Jul 21 21:37:45 2008
New Revision: 1191
URL: http://svn.gnome.org/viewvc/gnome-keyring?rev=1191&view=rev

Log:
	* common/gkr-location.c: Fix crash in libhal_ctx_shutdown. 
	Fixes bug #544007


Modified:
   trunk/ChangeLog
   trunk/common/gkr-location.c

Modified: trunk/common/gkr-location.c
==============================================================================
--- trunk/common/gkr-location.c	(original)
+++ trunk/common/gkr-location.c	Mon Jul 21 21:37:45 2008
@@ -70,6 +70,7 @@
 struct _GkrLocationManagerPrivate {
 #ifdef WITH_HAL
 	LibHalContext *hal_ctx;
+	gboolean hal_inited;
 	guint hal_retry;
 	DBusConnection *dbus_connection;
 #endif
@@ -399,9 +400,14 @@
 
 	if (pv->hal_ctx) {
 		dbus_error_init (&error);
-		if (pv->dbus_connection != NULL && !libhal_ctx_shutdown (pv->hal_ctx, &error)) {
-			g_warning ("failed to shutdown HAL context: %s\n", error.message);
-			dbus_error_free (&error);
+		if (pv->dbus_connection != NULL) {
+			if (pv->hal_inited) {
+				if (libhal_ctx_shutdown (pv->hal_ctx, &error)) {
+					g_warning ("failed to shutdown HAL context: %s\n", error.message);
+					dbus_error_free (&error);
+				}
+				pv->hal_inited = FALSE;
+			}
 		} 
 		
 		if (!libhal_ctx_free (pv->hal_ctx)) 
@@ -493,6 +499,7 @@
 		goto failed;
 	}
 	
+	pv->hal_inited = TRUE;
 	libhal_ctx_set_user_data (pv->hal_ctx, locmgr);
 	
 	populate_all_volumes (locmgr);



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