diff --git a/src/library.cpp b/src/library.cpp index 1882574d6..c411f56f4 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -148,19 +148,11 @@ std::shared_ptr Library::getReaderById(const std::string& id) return m_readers.at(id); } catch (std::out_of_range& e) {} - try { - auto reader = make_shared(m_archives.at(id)); - m_readers[id] = reader; - return reader; - } catch (std::out_of_range& e) {} - - auto book = getBookById(id); - if (!book.isPathValid()) + const auto archive = getArchiveById(id); + if ( !archive ) return nullptr; - auto archive = make_shared(book.getPath()); - m_archives[id] = archive; - auto reader = make_shared(archive); + const auto reader = make_shared(archive); m_readers[id] = reader; return reader; }