From 7fe5397e2147a384333d60a2419a633975d1d63c Mon Sep 17 00:00:00 2001 From: Luck Date: Mon, 4 Sep 2017 17:56:01 +0100 Subject: [PATCH] Fix incorrect usage of CompletableFuture#thenCombineAsync --- .../sponge/service/LuckPermsSubjectData.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java b/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java index 070679d5..dc7dee63 100644 --- a/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java +++ b/sponge/src/main/java/me/lucko/luckperms/sponge/service/LuckPermsSubjectData.java @@ -485,10 +485,24 @@ public class LuckPermsSubjectData implements LPSubjectData { } else { if (t instanceof User) { User user = ((User) t); - return service.getPlugin().getStorage().saveUser(user).thenCombineAsync(user.getRefreshBuffer().request(), (b, v) -> v, service.getPlugin().getScheduler().async()); + return service.getPlugin().getStorage().saveUser(user).thenApplyAsync(success -> { + if (!success) { + return null; + } + + user.getRefreshBuffer().request().join(); + return null; + }, service.getPlugin().getScheduler().async()); } else { Group group = ((Group) t); - return service.getPlugin().getStorage().saveGroup(group).thenCombineAsync(service.getPlugin().getUpdateTaskBuffer().request(), (b, v) -> v, service.getPlugin().getScheduler().async()); + return service.getPlugin().getStorage().saveGroup(group).thenApplyAsync(success -> { + if (!success) { + return null; + } + + service.getPlugin().getUpdateTaskBuffer().request().join(); + return null; + }, service.getPlugin().getScheduler().async()); } } }