diff --git a/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java b/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java index c0d6ed77..1870f53b 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java +++ b/Clover/app/src/main/java/org/floens/chan/core/presenter/ReplyPresenter.java @@ -65,6 +65,7 @@ public class ReplyPresenter implements ReplyManager.HttpCallback, private WatchManager watchManager; private DatabaseManager databaseManager; + private boolean bound = false; private Loadable loadable; private Board board; private Reply draft; @@ -88,12 +89,10 @@ public class ReplyPresenter implements ReplyManager.HttpCallback, if (this.loadable != null) { unbindLoadable(); } + bound = true; this.loadable = loadable; - Board board = boardManager.getBoardByValue(loadable.board); - if (board != null) { - this.board = board; - } + this.board = boardManager.getBoardByValue(loadable.board); draft = replyManager.getReply(loadable); @@ -117,13 +116,12 @@ public class ReplyPresenter implements ReplyManager.HttpCallback, } public void unbindLoadable() { + bound = false; draft.file = null; draft.fileName = ""; callback.loadViewsIntoDraft(draft); replyManager.putReply(loadable, draft); - loadable = null; - board = null; closeAll(); } @@ -219,7 +217,7 @@ public class ReplyPresenter implements ReplyManager.HttpCallback, callback.loadDraftIntoViews(draft); callback.onPosted(); - if (!loadable.isThreadMode()) { + if (bound && !loadable.isThreadMode()) { callback.showThread(LoadablePool.getInstance().obtain(new Loadable(loadable.board, replyCall.postNo))); } } else { diff --git a/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java b/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java index 4fb5a797..fd3629c0 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java +++ b/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java @@ -553,7 +553,7 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt @Override public void requestNewPostLoad() { - if (loadable.isThreadMode()) { + if (loadable != null && loadable.isThreadMode()) { chanLoader.requestMoreDataAndResetTimer(); } }