From 05318013e2fe6a20f318221b8d958f8997b5743f Mon Sep 17 00:00:00 2001 From: zzz Date: Mon, 13 May 2019 14:44:35 +0000 Subject: [PATCH] Console: Prevent editing a client while it's starting --- .../net/i2p/router/web/helpers/ConfigClientsHelper.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigClientsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigClientsHelper.java index 0b44f55e0b..9b0d472f53 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigClientsHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ConfigClientsHelper.java @@ -140,13 +140,16 @@ public class ConfigClientsHelper extends HelperBase { boolean isConsole = ca.className.equals("net.i2p.router.web.RouterConsoleRunner"); boolean showStart; boolean showStop; + boolean showEdit; if (isConsole) { showStart = false; showStop = false; + showEdit = true; } else { ClientApp clientApp = _context.routerAppManager().getClientApp(ca.className, LoadClientAppsJob.parseArgs(ca.args)); showStart = clientApp == null; showStop = clientApp != null && clientApp.getState() == ClientAppState.RUNNING; + showEdit = !showStop && (clientApp == null || clientApp.getState() != ClientAppState.STARTING); } String scur = Integer.toString(cur); renderForm(buf, scur, ca.clientName, @@ -161,8 +164,9 @@ public class ConfigClientsHelper extends HelperBase { // edit allowEdit && scur.equals(_edit), // show edit button, show update button - // Don't allow edit if it's running, or else we would lose the "handle" to the ClientApp to stop it. - allowEdit && !showStop, false, + // Don't allow edit if it's running or starting, or else we would lose the "handle" to the ClientApp to stop it. + allowEdit && showEdit, + false, // show stop button showStop, // show delete button, show start button