From 5f04d9de8923854914cba22f0b3568c1c6399ad8 Mon Sep 17 00:00:00 2001 From: Eric Kuck Date: Tue, 14 Jun 2022 10:12:44 -0500 Subject: [PATCH] Fix edge case NPE when the user hits the back button very rapidly during state restoration (#674) --- .../java/com/bluelinelabs/conductor/Router.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/conductor/src/main/java/com/bluelinelabs/conductor/Router.java b/conductor/src/main/java/com/bluelinelabs/conductor/Router.java index 1ed44d1e..50ffb301 100644 --- a/conductor/src/main/java/com/bluelinelabs/conductor/Router.java +++ b/conductor/src/main/java/com/bluelinelabs/conductor/Router.java @@ -742,6 +742,7 @@ void watchContainerAttach() { @Override public void run() { containerFullyAttached = true; + performPendingControllerChanges(); } }); } @@ -861,12 +862,14 @@ private void performControllerChange(@Nullable final Controller to, @Nullable fi to.setNeedsAttach(true); } pendingControllerChanges.add(transaction); - container.post(new Runnable() { - @Override - public void run() { - performPendingControllerChanges(); - } - }); + if (container != null) { + container.post(new Runnable() { + @Override + public void run() { + performPendingControllerChanges(); + } + }); + } } else { ControllerChangeHandler.executeChange(transaction); }