From c321453399007b800bc45718c03fe23d3ad2b4f7 Mon Sep 17 00:00:00 2001 From: Glavo Date: Wed, 3 Dec 2025 16:19:17 +0800 Subject: [PATCH] =?UTF-8?q?=20Fix=20#4900:=20=E4=BF=AE=E5=A4=8D=20ManagedP?= =?UTF-8?q?rocess#getLines=20=E5=AE=8C=E6=88=90=E5=90=8E=E4=B8=8D=E4=BC=9A?= =?UTF-8?q?=E8=A7=A3=E9=99=A4=E9=94=81=E5=AE=9A=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20=20(#4913)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmcl/util/platform/ManagedProcess.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java index a179a74fe..858d14e9f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java @@ -113,16 +113,19 @@ public final class ManagedProcess { */ public List getLines(Predicate lineFilter) { lock.lock(); + try { + if (lineFilter == null) + return List.copyOf(lines); - if (lineFilter == null) - return List.copyOf(lines); - - ArrayList res = new ArrayList<>(); - for (String line : this.lines) { - if (lineFilter.test(line)) - res.add(line); + ArrayList res = new ArrayList<>(); + for (String line : this.lines) { + if (lineFilter.test(line)) + res.add(line); + } + return Collections.unmodifiableList(res); + } finally { + lock.unlock(); } - return Collections.unmodifiableList(res); } public void addLine(String line) {