diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java index d852a4cc9..3a9efd374 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java @@ -119,7 +119,7 @@ public class AppPrefs { // ==== private final Property lockPassword = new SimpleObjectProperty(); - private final StringProperty lockCrypt = typed(new SimpleStringProperty(null), String.class); + private final StringProperty lockCrypt = typed(new SimpleStringProperty(""), String.class); private final StringField lockCryptControl = StringField.ofStringType(lockCrypt).render(() -> new SimpleControl() { private Region button; diff --git a/app/src/main/java/io/xpipe/app/prefs/JsonStorageHandler.java b/app/src/main/java/io/xpipe/app/prefs/JsonStorageHandler.java index 5ba974d5f..62f4f4866 100644 --- a/app/src/main/java/io/xpipe/app/prefs/JsonStorageHandler.java +++ b/app/src/main/java/io/xpipe/app/prefs/JsonStorageHandler.java @@ -2,6 +2,7 @@ package io.xpipe.app.prefs; import com.dlsc.preferencesfx.util.StorageHandler; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.NullNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.TextNode; import com.fasterxml.jackson.databind.type.CollectionType; @@ -50,7 +51,7 @@ public class JsonStorageHandler implements StorageHandler { var id = getSaveId(breadcrumb); var tree = object instanceof PrefsChoiceValue prefsChoiceValue ? new TextNode(prefsChoiceValue.getId()) - : JacksonMapper.newMapper().valueToTree(object); + : (object != null ? JacksonMapper.newMapper().valueToTree(object) : NullNode.getInstance()); setContent(id, tree); }