Blob Blame History Raw
diff -ur gnome-keyring-2.20.orig/daemon/gkr-daemon-ops.c gnome-keyring-2.20/daemon/gkr-daemon-ops.c
--- gnome-keyring-2.20.orig/daemon/gkr-daemon-ops.c	2007-10-03 15:01:34.000000000 +0200
+++ gnome-keyring-2.20/daemon/gkr-daemon-ops.c	2007-10-03 15:01:48.000000000 +0200
@@ -1136,7 +1136,7 @@
 	g_free (keyring_name);
 	
 	if (res == GNOME_KEYRING_RESULT_OK)
-		gkr_keyrings_remove (keyring);
+		gkr_keyrings_remove (keyring, TRUE);
 
 	return TRUE;
 }
Only in gnome-keyring-2.20/daemon: gkr-daemon-ops.c.orig
diff -ur gnome-keyring-2.20.orig/keyrings/gkr-keyring.c gnome-keyring-2.20/keyrings/gkr-keyring.c
--- gnome-keyring-2.20.orig/keyrings/gkr-keyring.c	2007-10-03 15:01:34.000000000 +0200
+++ gnome-keyring-2.20/keyrings/gkr-keyring.c	2007-10-03 15:01:48.000000000 +0200
@@ -1211,7 +1211,7 @@
 	if (!gkr_keyring_update_from_disk (keyring, TRUE)) {
 		/* Failed to re-read, remove the keyring */
 		g_warning ("Couldn't re-read keyring %s\n", keyring->keyring_name);
-		gkr_keyrings_remove (keyring);
+		gkr_keyrings_remove (keyring, TRUE);
 	}
 	
 	return TRUE;
diff -ur gnome-keyring-2.20.orig/keyrings/gkr-keyrings.c gnome-keyring-2.20/keyrings/gkr-keyrings.c
--- gnome-keyring-2.20.orig/keyrings/gkr-keyrings.c	2007-10-03 15:01:34.000000000 +0200
+++ gnome-keyring-2.20/keyrings/gkr-keyrings.c	2007-10-03 15:01:48.000000000 +0200
@@ -235,7 +235,7 @@
 		/* Try and update/load it */
 		if (!gkr_keyring_update_from_disk (keyring, FALSE) ||
 		    !keyring->keyring_name || !keyring->keyring_name[0]) {
-			gkr_keyrings_remove (keyring);
+			gkr_keyrings_remove (keyring, TRUE);
 		} 
 	}
 
@@ -257,7 +257,7 @@
 		keyring = GKR_KEYRING (keyrings->data);
 		if (keyring == session_keyring)
 			session_keyring = NULL;
-		gkr_keyrings_remove (keyring);
+		gkr_keyrings_remove (keyring, FALSE);
 	}
 	
 	g_free (default_keyring);
@@ -411,7 +411,7 @@
 		if (!keyring->location)
 			continue;
 		if (g_hash_table_lookup (checks, GUINT_TO_POINTER (keyring->location)))
-			gkr_keyrings_remove (keyring);
+			gkr_keyrings_remove (keyring, TRUE);
 	}
 	g_hash_table_destroy (checks);
 
@@ -434,15 +434,19 @@
 }
 
 void 
-gkr_keyrings_remove (GkrKeyring *keyring)
+gkr_keyrings_remove (GkrKeyring *keyring,
+		     gboolean unset_if_default)
 {
 	keyrings_init ();
-	
+
 	g_assert (GKR_IS_KEYRING (keyring));
 	
+	
+	
 	if (g_list_find (keyrings, keyring)) {
 
-		if (default_keyring && 
+		if (unset_if_default &&
+		    default_keyring && 
 		    strcmp (keyring->keyring_name, default_keyring) == 0)
 			gkr_keyrings_set_default (NULL);
 		
diff -ur gnome-keyring-2.20.orig/keyrings/gkr-keyrings.h gnome-keyring-2.20/keyrings/gkr-keyrings.h
--- gnome-keyring-2.20.orig/keyrings/gkr-keyrings.h	2007-10-03 15:01:34.000000000 +0200
+++ gnome-keyring-2.20/keyrings/gkr-keyrings.h	2007-10-03 15:01:48.000000000 +0200
@@ -36,7 +36,8 @@
 
 void            gkr_keyrings_add           (GkrKeyring *keyring);
 
-void            gkr_keyrings_remove        (GkrKeyring *keyring);
+void            gkr_keyrings_remove        (GkrKeyring *keyring,
+                                            gboolean unset_if_default);
 
 GkrKeyring*     gkr_keyrings_find          (const gchar *name);