Skip to content

Commit b3768fc

Browse files
committed
Fix CallListeners scope issue in RmlUi event listeners
Capture CallListeners as local variable in BindFieldEvents so it's available in event listener callback closures. Fixes error when clicking action buttons in RmlUi mode.
1 parent 8377803 commit b3768fc

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

scen_edit/view/view.lua

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,9 @@ function View:BindFieldEvents(editor)
396396
return
397397
end
398398

399+
-- Capture CallListeners in local scope for event listener callbacks
400+
local callListeners = CallListeners
401+
399402
-- Bind change events for fields
400403
if editor.fields then
401404
for fieldName, field in pairs(editor.fields) do
@@ -427,7 +430,7 @@ function View:BindFieldEvents(editor)
427430
if btnElement then
428431
btnElement:AddEventListener("click", function(event)
429432
if button.OnClick then
430-
CallListeners(button.OnClick)
433+
callListeners(button.OnClick)
431434
end
432435
end)
433436
end
@@ -441,7 +444,7 @@ function View:BindFieldEvents(editor)
441444
if btnElement then
442445
btnElement:AddEventListener("click", function(event)
443446
if button.OnClick then
444-
CallListeners(button.OnClick)
447+
callListeners(button.OnClick)
445448
end
446449
end)
447450
end

0 commit comments

Comments
 (0)