diff --git a/gfx/element.lua b/gfx/element.lua index ba5efb6..5be36bb 100644 --- a/gfx/element.lua +++ b/gfx/element.lua @@ -186,9 +186,13 @@ function Element:redraw() end function Element:handleEvent(evt) - if Event.isClickEvent(evt) and self.onClick ~= nil and Event.containsClick(self, evt, 0, 0) then - local x, y, source = Event.getClickParams(evt) - return not not self.onClick(self, x, y, source) + if Event.isClickEvent(evt) and Event.containsClick(self, evt, 0, 0) then + if self.onClick ~= nil then + local x, y, source = Event.getClickParams(evt) + return not not self.onClick(self, x, y, source) + else + return false + end end return false end diff --git a/gfx/padding.lua b/gfx/padding.lua index f71a4ff..e4a5b22 100644 --- a/gfx/padding.lua +++ b/gfx/padding.lua @@ -90,7 +90,6 @@ function Padding:handleEvent(evt) else return self.element:handleEvent(evt) end - return false end function Padding:_reload() diff --git a/itemcontroller.lua b/itemcontroller.lua index 33f6d81..a2db066 100644 --- a/itemcontroller.lua +++ b/itemcontroller.lua @@ -3,6 +3,7 @@ local ItemGroup = require("storage.itemgroup") local Storage = require("storage") local Text = require("gfx.text") local List = require("gfx.list") +local Event = require("gfx.event") local Padding = require("gfx.padding") @@ -147,7 +148,7 @@ local function renderDefault(state, rootElement) end end - if not handled then + if not handled and not Event.isClickEvent(event) then os.queueEvent(table.unpack(event)) end