Small event fix for programs

This commit is contained in:
Robert Jelic
2022-12-25 16:56:13 +01:00
parent 6d2956f3bf
commit 20ceb6b56f
4 changed files with 42 additions and 61 deletions

View File

@@ -92,6 +92,7 @@ return function(name, parent, pTerm, basalt)
end
end
end
local function getDeepObject(name)
local o = getObject(name)
if(o~=nil)then return o end
@@ -108,7 +109,7 @@ return function(name, parent, pTerm, basalt)
local function addObject(obj)
local zIndex = obj:getZIndex()
if (getObject(obj.name) ~= nil) then
return
return nil
end
if (objects[zIndex] == nil) then
for x = 1, #objZIndex + 1 do
@@ -162,14 +163,14 @@ return function(name, parent, pTerm, basalt)
table.remove(objects[a], key)
removeEvents(object, value)
self:updateDraw()
return true
return true;
end
else
if (value == obj) then
table.remove(objects[a], key)
removeEvents(object, value)
self:updateDraw()
return true
return true;
end
end
end
@@ -192,7 +193,7 @@ return function(name, parent, pTerm, basalt)
if(events[event]==nil)then events[event] = {} end
if(eventZIndex[event]==nil)then eventZIndex[event] = {} end
if (getEvent(self, event, obj.name) ~= nil) then
return
return nil
end
if(self.parent~=nil)then
self.parent:addEvent(event, self)
@@ -221,7 +222,6 @@ return function(name, parent, pTerm, basalt)
return obj
end
local function removeEvent(self, event, obj)
if(events[event]~=nil)then
for a, b in pairs(events[event]) do
@@ -412,22 +412,7 @@ return function(name, parent, pTerm, basalt)
getType = function(self)
return objectType
end,
getObjectCount = function(self)
local count = 0
for _, value in pairs(objects) do
count = count+#value
end
return count
end,
getEventCount = function(self, ev)
local count = 0
for _, value in pairs(events[ev]) do
count = count+#value
end
return count
end,
end;
setZIndex = function(self, newIndex)
base.setZIndex(self, newIndex)
@@ -841,9 +826,7 @@ return function(name, parent, pTerm, basalt)
if (events["other_event"][index] ~= nil) then
for _, value in rpairs(events["other_event"][index]) do
if (value.eventHandler ~= nil) then
if (value:eventHandler(event, ...)) then
return true
end
value:eventHandler(event, ...)
end
end
end

View File

@@ -707,7 +707,7 @@ return function(name, parent)
end,
eventHandler = function(self, event, p1, p2, p3, p4)
if(base.eventHandler(self, event, p1, p2, p3, p4))then
base.eventHandler(self, event, p1, p2, p3, p4)
if (curProcess == nil) then
return
end
@@ -748,8 +748,6 @@ return function(name, parent)
table.insert(queuedEvent, { event = event, args = { p1, p2, p3, p4 } })
end
end
return false
end
end,
draw = function(self)