summaryrefslogtreecommitdiffstats
path: root/tdeio/misc/tdewalletd
diff options
context:
space:
mode:
Diffstat (limited to 'tdeio/misc/tdewalletd')
-rw-r--r--tdeio/misc/tdewalletd/tdewalletd.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/tdeio/misc/tdewalletd/tdewalletd.cpp b/tdeio/misc/tdewalletd/tdewalletd.cpp
index 5d73df4e6..a9b333288 100644
--- a/tdeio/misc/tdewalletd/tdewalletd.cpp
+++ b/tdeio/misc/tdewalletd/tdewalletd.cpp
@@ -479,8 +479,14 @@ int TDEWalletD::internalOpen(const TQCString& appid, const TQString& wallet, boo
p = kpd->password();
int rc = b->open(TQByteArray().duplicate(p, strlen(p)));
if (!b->isOpen()) {
- kpd->setPrompt(i18n("<qt>Error opening the wallet '<b>%1</b>'. Please try again.<br>(Error code %2: %3)").arg(TQStyleSheet::escape(wallet)).arg(rc).arg(TDEWallet::Backend::openRCToString(rc)));
- kpd->clearPassword();
+ // For compatibility with TDE << R14.0.6, try ascii() as fallback option in case of errors
+ TQString pw8Bit = TQString::fromLocal8Bit(p);
+ p = pw8Bit.ascii();
+ rc = b->open(TQByteArray().duplicate(p, strlen(p)));
+ if (!b->isOpen()) {
+ kpd->setPrompt(i18n("<qt>Error opening the wallet '<b>%1</b>'. Please try again.<br>(Error code %2: %3)").arg(TQStyleSheet::escape(wallet)).arg(rc).arg(TDEWallet::Backend::openRCToString(rc)));
+ kpd->clearPassword();
+ }
}
} else {
break;