From 7a60f3047f09681f238325140421865e4134cb05 Mon Sep 17 00:00:00 2001 From: Florens Douwes Date: Wed, 30 Apr 2014 16:03:10 +0200 Subject: [PATCH] LoaderPool now checks loadable.equals, instead of just comparing the instance. --- .../floens/chan/core/loader/LoaderPool.java | 19 +++++++++++++++++-- .../org/floens/chan/core/model/Loadable.java | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Chan/src/org/floens/chan/core/loader/LoaderPool.java b/Chan/src/org/floens/chan/core/loader/LoaderPool.java index 8f8deaaa..9dc1ec54 100644 --- a/Chan/src/org/floens/chan/core/loader/LoaderPool.java +++ b/Chan/src/org/floens/chan/core/loader/LoaderPool.java @@ -21,7 +21,14 @@ public class LoaderPool { } public Loader obtain(Loadable loadable, Loader.LoaderListener listener) { - Loader loader = loaders.get(loadable); + Loader loader = null; + for (Loadable l : loaders.keySet()) { + if (loadable.equals(l)) { + loader = loaders.get(l); + break; + } + } + if (loader == null) { loader = new Loader(loadable); loaders.put(loadable, loader); @@ -33,7 +40,15 @@ public class LoaderPool { } public void release(Loader loader, Loader.LoaderListener listener) { - if (!loaders.containsValue(loader)) { + Loader foundLoader = null; + for (Loadable l : loaders.keySet()) { + if (loader.getLoadable().equals(l)) { + foundLoader = loaders.get(l); + break; + } + } + + if (foundLoader == null) { throw new RuntimeException("The released loader does not exist"); } diff --git a/Chan/src/org/floens/chan/core/model/Loadable.java b/Chan/src/org/floens/chan/core/model/Loadable.java index 806f927c..a4db8038 100644 --- a/Chan/src/org/floens/chan/core/model/Loadable.java +++ b/Chan/src/org/floens/chan/core/model/Loadable.java @@ -82,7 +82,7 @@ public class Loadable { } /** - * Does not compare the title. + * Compares the mode, board and no. */ @Override public boolean equals(Object object) {