From d36c2b00aefd65e7dc47cf3fe5a03e66079c2c5f Mon Sep 17 00:00:00 2001 From: crschnick Date: Tue, 6 Jun 2023 23:42:52 +0000 Subject: [PATCH] Properly clean temp directory --- app/src/main/java/io/xpipe/app/browser/BrowserComp.java | 7 ++++++- ...PipeTempDirectory.java => XPipeExecTempDirectory.java} | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) rename core/src/main/java/io/xpipe/core/util/{XPipeTempDirectory.java => XPipeExecTempDirectory.java} (80%) diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserComp.java b/app/src/main/java/io/xpipe/app/browser/BrowserComp.java index 3deaf04e..becb0b82 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserComp.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserComp.java @@ -166,7 +166,12 @@ public class BrowserComp extends SimpleComp { model.getSelected().addListener((observable, oldValue, newValue) -> { PlatformThread.runLaterIfNeeded(() -> { var index = model.getOpenFileSystems().indexOf(newValue); - var tab = index != -1 ? tabs.getTabs().get(index) : null; + if (index == -1 || index >= tabs.getTabs().size()) { + tabs.getSelectionModel().select(null); + return; + } + + var tab = tabs.getTabs().get(index); tabs.getSelectionModel().select(tab); }); }); diff --git a/core/src/main/java/io/xpipe/core/util/XPipeTempDirectory.java b/core/src/main/java/io/xpipe/core/util/XPipeExecTempDirectory.java similarity index 80% rename from core/src/main/java/io/xpipe/core/util/XPipeTempDirectory.java rename to core/src/main/java/io/xpipe/core/util/XPipeExecTempDirectory.java index 76eaf39f..ad288031 100644 --- a/core/src/main/java/io/xpipe/core/util/XPipeTempDirectory.java +++ b/core/src/main/java/io/xpipe/core/util/XPipeExecTempDirectory.java @@ -6,7 +6,7 @@ import io.xpipe.core.process.ShellControl; import java.util.Arrays; import java.util.stream.Stream; -public class XPipeTempDirectory { +public class XPipeExecTempDirectory { public static String getSystemTempDirectory(ShellControl proc) throws Exception { return proc.getOsType().getTempDirectory(proc); @@ -14,7 +14,7 @@ public class XPipeTempDirectory { public static String initXPipeTempDirectory(ShellControl proc) throws Exception { var base = proc.getOsType().getTempDirectory(proc); - var arr = Stream.of(base, "xpipe").toArray(String[]::new); + var arr = Stream.of(base, "xpipe", "exec").toArray(String[]::new); var dir = FileNames.join(arr); var existsCommand = proc.getShellDialect().createFileExistsCommand(proc, dir); @@ -22,14 +22,14 @@ public class XPipeTempDirectory { proc.executeSimpleCommand(proc.getShellDialect().getFileDeleteCommand(dir)); } - proc.getShellDialect().prepareTempDirectory(proc, dir); + proc.getShellDialect().prepareTempDirectory(proc, dir).execute(); return dir; } public static String getSubDirectory(ShellControl proc, String... sub) throws Exception { var base = proc.getOsType().getTempDirectory(proc); - var arr = Stream.concat(Stream.of(base, "xpipe"), Arrays.stream(sub)).toArray(String[]::new); + var arr = Stream.concat(Stream.of(base, "xpipe", "exec"), Arrays.stream(sub)).toArray(String[]::new); var dir = FileNames.join(arr); var existsCommand = proc.getShellDialect().createFileExistsCommand(proc, dir);