Skip to content

Commit

Permalink
Do not crash when no callback function is provided
Browse files Browse the repository at this point in the history
  • Loading branch information
britzl committed Sep 22, 2021
1 parent 95fd50d commit 2872f77
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions gooey/gooey.lua
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,13 @@ function M.mask_text(text, mask)
end


-- no-operation
-- empty function to use when no component callback function was provided
local function nop() end


function M.button(node_id, action_id, action, fn, refresh_fn)
local b = button(node_id, action_id, action, fn, refresh_fn)
local b = button(node_id, action_id, action, fn or nop, refresh_fn)
if current_group then
current_group.components[#current_group.components + 1] = b
end
Expand All @@ -77,7 +82,7 @@ end


function M.checkbox(node_id, action_id, action, fn, refresh_fn)
local c = checkbox(node_id, action_id, action, fn, refresh_fn)
local c = checkbox(node_id, action_id, action, fn or nop, refresh_fn)
if current_group then
current_group.components[#current_group.components + 1] = c
end
Expand All @@ -86,20 +91,20 @@ end


function M.radiogroup(group_id, action_id, action, fn)
return radio.group(group_id, action_id, action, fn, refresh_fn)
return radio.group(group_id, action_id, action, fn or nop, refresh_fn)
end


function M.radio(node_id, group_id, action_id, action, fn, refresh_fn)
local r = radio.button(node_id, group_id, action_id, action, fn, refresh_fn)
local r = radio.button(node_id, group_id, action_id, action, fn or nop, refresh_fn)
if current_group then
current_group.components[#current_group.components + 1] = r
end
return r
end

function M.static_list(list_id, stencil_id, item_ids, action_id, action, config, fn, refresh_fn)
local l = list.static(list_id, stencil_id, item_ids, action_id, action, config, fn, refresh_fn)
local l = list.static(list_id, stencil_id, item_ids, action_id, action, config, fn or nop, refresh_fn)
if current_group then
current_group.components[#current_group.components + 1] = l
end
Expand All @@ -109,15 +114,15 @@ end
function M.horizontal_static_list(list_id, stencil_id, item_ids, action_id, action, config, fn, refresh_fn)
config = config or {}
config.horizontal = true
return M.static_list(list_id, stencil_id, item_ids, action_id, action, config, fn, refresh_fn)
return M.static_list(list_id, stencil_id, item_ids, action_id, action, config, fn or nop, refresh_fn)
end

function M.vertical_static_list(list_id, stencil_id, item_ids, action_id, action, config, fn, refresh_fn)
return M.static_list(list_id, stencil_id, item_ids, action_id, action, config, fn, refresh_fn)
return M.static_list(list_id, stencil_id, item_ids, action_id, action, config, fn or nop, refresh_fn)
end

function M.dynamic_list(list_id, stencil_id, item_id, data, action_id, action, config, fn, refresh_fn)
local l = list.dynamic(list_id, stencil_id, item_id, data, action_id, action, config, fn, refresh_fn)
local l = list.dynamic(list_id, stencil_id, item_id, data, action_id, action, config, fn or nop, refresh_fn)
if current_group then
current_group.components[#current_group.components + 1] = l
end
Expand All @@ -127,15 +132,15 @@ end
function M.horizontal_dynamic_list(list_id, stencil_id, item_id, data, action_id, action, config, fn, refresh_fn)
config = config or {}
config.horizontal = true
return M.dynamic_list(list_id, stencil_id, item_id, data, action_id, action, config, fn, refresh_fn)
return M.dynamic_list(list_id, stencil_id, item_id, data, action_id, action, config, fn or nop, refresh_fn)
end

function M.vertical_dynamic_list(list_id, stencil_id, item_id, data, action_id, action, config, fn, refresh_fn)
return M.dynamic_list(list_id, stencil_id, item_id, data, action_id, action, config, fn, refresh_fn)
return M.dynamic_list(list_id, stencil_id, item_id, data, action_id, action, config, fn or nop, refresh_fn)
end

function M.vertical_scrollbar(handle_id, bounds_id, action_id, action, config, fn, refresh_fn)
local sb = scrollbar.vertical(handle_id, bounds_id, action_id, action, config, fn, refresh_fn)
local sb = scrollbar.vertical(handle_id, bounds_id, action_id, action, config, fn or nop, refresh_fn)
if current_group then
current_group.components[#current_group.components + 1] = sb
end
Expand Down

0 comments on commit 2872f77

Please sign in to comment.