diff --git a/frontend/ui/reader/readerfont.lua b/frontend/ui/reader/readerfont.lua index ff6483052..dd9cbeb1a 100644 --- a/frontend/ui/reader/readerfont.lua +++ b/frontend/ui/reader/readerfont.lua @@ -41,7 +41,7 @@ function ReaderFont:init() }) face_list[k] = {text = v} end - self.ui.menu:addToMainMenuCallback(self) + self.ui.menu:registerToMainMenu(self) end function ReaderFont:onSetDimensions(dimen) diff --git a/frontend/ui/reader/readermenu.lua b/frontend/ui/reader/readermenu.lua index f93583621..9a5f1915a 100644 --- a/frontend/ui/reader/readermenu.lua +++ b/frontend/ui/reader/readermenu.lua @@ -107,7 +107,7 @@ end function ReaderMenu:onCloseDocument() end -function ReaderMenu:addToMainMenuCallback(widget) +function ReaderMenu:registerToMainMenu(widget) table.insert(self.registered_widgets, widget) end diff --git a/frontend/ui/reader/readerzooming.lua b/frontend/ui/reader/readerzooming.lua index d7e481663..ecfb7cf6d 100644 --- a/frontend/ui/reader/readerzooming.lua +++ b/frontend/ui/reader/readerzooming.lua @@ -49,6 +49,10 @@ ReaderZooming = InputContainer:new{ rotation = 0 } +function ReaderZooming:init() + self.ui.menu:registerToMainMenu(self) +end + function ReaderZooming:onReadSettings(config) -- @TODO config file from old code base uses globalzoom_mode -- instead of zoom_mode, we need to handle this imcompatibility diff --git a/frontend/ui/readerui.lua b/frontend/ui/readerui.lua index dce241f6f..19d953540 100644 --- a/frontend/ui/readerui.lua +++ b/frontend/ui/readerui.lua @@ -67,6 +67,8 @@ function ReaderUI:init() view = self[1], ui = self } + self.menu = self[4] -- hold reference to menu widget + if self.document.info.has_pages then -- for page specific controller @@ -126,9 +128,10 @@ function ReaderUI:onClose() DEBUG("closing reader") self:handleEvent(Event:new("CloseDocument")) self.doc_settings:flush() - if self.document then + if self.document ~= nil then self.document:close() - self.document = false + self.document = nil + self.start_pos = nil end UIManager:close(self.dialog) return true