From 89fd0061fbe6dbe2cc2af9d59c45442cc1ecd756 Mon Sep 17 00:00:00 2001 From: hius07 <62179190+hius07@users.noreply.github.com> Date: Fri, 6 Dec 2024 14:36:30 +0200 Subject: [PATCH] filemanagerbookinfo: fix logic in getCoverImage() (#12852) --- frontend/apps/filemanager/filemanagerbookinfo.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/apps/filemanager/filemanagerbookinfo.lua b/frontend/apps/filemanager/filemanagerbookinfo.lua index dd44f1cc1..7448363e6 100644 --- a/frontend/apps/filemanager/filemanagerbookinfo.lua +++ b/frontend/apps/filemanager/filemanagerbookinfo.lua @@ -371,11 +371,12 @@ function BookInfo:onShowBookCover(file, force_orig) end end -function BookInfo:getCoverImage(doc, file, force_orig) +function BookInfo:getCoverImage(document, file, force_orig) + local curr_file = document and document.file local cover_bb -- check for a custom cover (orig cover is forcibly requested in "Book information" only) if not force_orig then - local custom_cover = DocSettings:findCustomCoverFile(file or (doc and doc.file)) + local custom_cover = DocSettings:findCustomCoverFile(file or curr_file) if custom_cover then local cover_doc = DocumentRegistry:openDocument(custom_cover) if cover_doc then @@ -386,16 +387,19 @@ function BookInfo:getCoverImage(doc, file, force_orig) end end -- orig cover - local is_doc = doc and true or false - if not is_doc then + local doc + local do_open = file ~= nil and file ~= curr_file + if do_open then doc = DocumentRegistry:openDocument(file) if doc and doc.loadDocument then -- CreDocument doc:loadDocument(false) -- load only metadata end + else + doc = document end if doc then cover_bb = doc:getCoverPageImage() - if not is_doc then + if do_open then doc:close() end end