Dispatcher: nil guard against access to a document instance (#7389)

Also:
* Properly update *all* the touch zones when rotating the FM
* Unbreak (Reader) rotation labels in Dispatcher
Regression since #7306
reviewable/pr7371/r15
NiLuJe 3 years ago committed by GitHub
parent b75ea3da03
commit 32b070f3ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -101,7 +101,7 @@ end
function FileManager:onSetDimensions(dimen)
-- update listening according to new screen dimen
if Device:isTouchDevice() then
self:initGesListener()
self:updateTouchZonesOnScreenResize(dimen)
end
end
@ -518,6 +518,7 @@ function FileManager:init()
table.insert(self, NetworkListener:new{ ui = self })
end
self:initGesListener()
self:handleEvent(Event:new("SetDimensions", self.dimen))
end

@ -623,14 +623,14 @@ function Dispatcher:execute(ui, settings, gesture)
local arg = v ~= 0 and v or gesture or 0
ui:handleEvent(Event:new(settingsList[k].event, arg))
end
if settingsList[k].configurable ~= nil then
local value = v
if type(v) ~= "number" then
for i, r in ipairs(settingsList[k].args) do
if ui.document and settingsList[k].configurable then
local value = v
if type(v) ~= "number" then
for i, r in ipairs(settingsList[k].args) do
if v == r then value = settingsList[k].configurable.values[i] break end
end
end
ui.document.configurable[settingsList[k].configurable.name] = value
end
end
ui.document.configurable[settingsList[k].configurable.name] = value
end
end
end

@ -2,6 +2,7 @@ local Device = require("device")
local Screen = Device.screen
local optionsutil = require("ui/data/optionsutil")
local _ = require("gettext")
local C_ = _.pgettext
-- Get font size numbers as a table of strings
local tableOfNumbersToTableOfStrings = function(numbers)
@ -27,6 +28,8 @@ local CreOptions = {
"rotation.90CW",
"rotation.180UD",
},
-- For Dispatcher's sake
labels = {C_("Rotation", "⤹ 90°"), C_("Rotation", "↑ 0°"), C_("Rotation", "⤸ 90°"), C_("Rotation", "↓ 180°")},
alternate = false,
values = {Screen.ORIENTATION_LANDSCAPE_ROTATED, Screen.ORIENTATION_PORTRAIT, Screen.ORIENTATION_LANDSCAPE, Screen.ORIENTATION_PORTRAIT_ROTATED},
args = {Screen.ORIENTATION_LANDSCAPE_ROTATED, Screen.ORIENTATION_PORTRAIT, Screen.ORIENTATION_LANDSCAPE, Screen.ORIENTATION_PORTRAIT_ROTATED},

@ -35,6 +35,8 @@ local KoptOptions = {
"rotation.90CW",
"rotation.180UD",
},
-- For Dispatcher's sake
labels = {C_("Rotation", "⤹ 90°"), C_("Rotation", "↑ 0°"), C_("Rotation", "⤸ 90°"), C_("Rotation", "↓ 180°")},
alternate = false,
values = {Screen.ORIENTATION_LANDSCAPE_ROTATED, Screen.ORIENTATION_PORTRAIT, Screen.ORIENTATION_LANDSCAPE, Screen.ORIENTATION_PORTRAIT_ROTATED},
args = {Screen.ORIENTATION_LANDSCAPE_ROTATED, Screen.ORIENTATION_PORTRAIT, Screen.ORIENTATION_LANDSCAPE, Screen.ORIENTATION_PORTRAIT_ROTATED},

Loading…
Cancel
Save