diff --git a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java index 749f2f27972..74217cb7cb9 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java +++ b/forge-gui-desktop/src/main/java/forge/screens/deckeditor/controllers/DeckController.java @@ -241,10 +241,14 @@ public class DeckController { } } + private Boolean isInSyncCacheResult = null; + private T syncModelCache = null; private boolean isModelInSyncWithFolder() { - if (model.getName().isEmpty()) { + if (syncModelCache != null && model == syncModelCache) + return isInSyncCacheResult; + + if (model.getName().isEmpty()) return true; - } final T modelStored = currentFolder.get(model.getName()); // checks presence in dictionary only. @@ -254,8 +258,9 @@ public class DeckController { if (modelStored == null) { return false; } - - return modelStored.equals(model); + syncModelCache = model; + isInSyncCacheResult = modelStored.equals(model); + return isInSyncCacheResult; } /**