diff --git a/android-client/web/app.html b/android-client/web/app.html index 92e2730..c1018b8 100644 --- a/android-client/web/app.html +++ b/android-client/web/app.html @@ -613,6 +613,13 @@ var PM = { setDebug: function (on) { document.getElementById('btnWriteTest').hidden = !on; }, + /// Sort du mode edition sans rien demander a Delphi. Sert aux refus + /// immediats : l'editeur y restait ouvert, boutons desactives, et Cancel + /// lui-meme ne repondait plus. + editDone: function () { + if (lastDetail) renderDetail(lastDetail); + }, + showUnlock: function () { document.body.classList.remove('on-list', 'on-detail', 'searching'); view = 'unlock'; diff --git a/mainApk.pas b/mainApk.pas index 9ee6fb5..ddb1aba 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -557,15 +557,25 @@ procedure TForm8.SaveEntryPassword(const ANewValue: string); var LUuid, LTitle: string; begin - if FBusy then Exit; + // CHAQUE REFUS REND LA MAIN A LA PAGE. Ces gardes se contentaient d'un + // message : l'editeur restait ouvert avec ses boutons desactives, donc + // Cancel lui-meme ne repondait plus - un cul-de-sac dont rien ne sortait. + if FBusy then + begin + WebCall('PM.toast("Busy - wait for the current operation")'); + WebCall('PM.editDone()'); + Exit; + end; if FCurrent.Uuid = '' then begin WebCall('PM.toast("This entry has no uuid - cannot be updated")'); + WebCall('PM.editDone()'); Exit; end; if FSyncPwd = '' then begin WebCall('PM.toast("Sync password missing - open the vault first")'); + WebCall('PM.editDone()'); Exit; end; LUuid := FCurrent.Uuid;