aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--embed/mozilla/mozilla-embed-single.cpp10
2 files changed, 16 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8e2414b02..ede791251 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-29 Christian Persch <chpe@cvs.gnome.org>
+
+ * embed/mozilla/mozilla-embed-single.cpp:
+
+ If GetPassword failed, break instead of continue.
+ That way we don't endlessly re-ask for the master password.
+
2006-01-29 Crispin Flowerday <gnome@flowerday.cx>
* embed/ephy-embed-single.c: (ephy_embed_single_get_backend_name):
diff --git a/embed/mozilla/mozilla-embed-single.cpp b/embed/mozilla/mozilla-embed-single.cpp
index 0523473a6..e4295ca94 100644
--- a/embed/mozilla/mozilla-embed-single.cpp
+++ b/embed/mozilla/mozilla-embed-single.cpp
@@ -1067,7 +1067,15 @@ impl_list_passwords (EphyPasswordManager *manager)
NS_CSTRING_ENCODING_UTF8, userName);
rv = nsPassword->GetPassword (unicodeName);
- if (NS_FAILED (rv)) continue;
+ if (NS_FAILED (rv))
+ {
+ /* this usually means we couldn't decrypt the password, due to
+ * the master password being unavailable. Don't continue since that
+ * would lead to endless prompting for the master password; abort
+ * instead.
+ */
+ break;
+ }
nsEmbedCString userPassword;
NS_UTF16ToCString (unicodeName,