From 9767073b3225af9736c5e528bb0eaa2fc930338e Mon Sep 17 00:00:00 2001 From: Dan <46821332+nsadeveloper789@users.noreply.github.com> Date: Fri, 25 Jul 2025 19:35:25 +0000 Subject: [PATCH] GP-5553: Disable timing out when we have a ProgressService. --- .../debug/gui/control/TargetActionTask.java | 29 +++++++++++++++---- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/control/TargetActionTask.java b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/control/TargetActionTask.java index 24fda8c170..cb3a3b1f4b 100644 --- a/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/control/TargetActionTask.java +++ b/Ghidra/Debug/Debugger/src/main/java/ghidra/app/plugin/core/debug/gui/control/TargetActionTask.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -136,6 +136,16 @@ public class TargetActionTask extends Task { /** * Execute an {@link ActionEntry} * + *
+ * If the {@link ProgressService} is available, we will not enforce a timeout, because it should
+ * be relatively easy for the user to manage the pending tasks. Otherwise, we'll enforce the
+ * timeout. The rationale here is that some tasks do actually take a good bit of time. For
+ * example, some targets just have a large module list. Often a GUI component is asking for a
+ * reason, and if we time it out, that thing doesn't get what it needs. Furthermore, the entry
+ * disappears from the task list, even though the back-end is likely still working on it. That's
+ * not good, actually. Since we have a cancel button, let the user decide when it's had enough
+ * time.
+ *
* @param tool the tool in which to execute
* @param title the title, often {@link ActionEntry#display()}
* @param entry the action to execute
@@ -144,11 +154,13 @@ public class TargetActionTask extends Task {
*/
public static CompletableFuture