mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
USBMS: Close all widgets before quitting
FFI finalizers can fire in unspecified orders, but for MuPDF, we need to ensure that the context is the *very* last thing that get destroyed. As such, we need to make sure we close open documents properly on our end, first. This prevents potential crashes while switchign to USBMS inside an open document handled by MuPDF. Fix #7428
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
local Device = require("device")
|
||||
local Event = require("ui/event")
|
||||
local UIManager = require("ui/uimanager")
|
||||
local _ = require("gettext")
|
||||
|
||||
@@ -60,15 +61,17 @@ function MassStorage:start(never_ask)
|
||||
ok_callback = function()
|
||||
-- save settings before activating USBMS:
|
||||
UIManager:flushSettings()
|
||||
UIManager:quit()
|
||||
UIManager._exit_code = 86
|
||||
UIManager:broadcastEvent(Event:new("Close"))
|
||||
UIManager:quit()
|
||||
end,
|
||||
})
|
||||
else
|
||||
-- save settings before activating USBMS:
|
||||
UIManager:flushSettings()
|
||||
UIManager:quit()
|
||||
UIManager._exit_code = 86
|
||||
UIManager:broadcastEvent(Event:new("Close"))
|
||||
UIManager:quit()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user