diff --git a/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java b/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java index 4c45c7d9..9761655e 100644 --- a/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java +++ b/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java @@ -100,25 +100,27 @@ public final class OpenFileSystemModel extends BrowserSessionTab { + if (fileSystem == null) { + return; } - } - try { - fileSystem.close(); - } catch (IOException e) { - ErrorEvent.fromThrowable(e).handle(); - } - fileSystem = null; + + if (DataStorage.get().getStoreEntries().contains(getEntry().get()) + && savedState != null + && getCurrentPath().get() != null) { + if (getBrowserModel() instanceof BrowserSessionModel bm) { + bm.getSavedState() + .add(new BrowserSavedState.Entry( + getEntry().get().getUuid(), getCurrentPath().get())); + } + } + try { + fileSystem.close(); + } catch (IOException e) { + ErrorEvent.fromThrowable(e).handle(); + } + fileSystem = null; + }); } private void startIfNeeded() throws Exception {