diff --git a/docs/04-new-widgets.md b/docs/04-new-widgets.md index 150698679..4203f3d3b 100644 --- a/docs/04-new-widgets.md +++ b/docs/04-new-widgets.md @@ -112,7 +112,7 @@ looks like this: end widget:after_draw_children(context, cr, width, height) -The `:set_children()` method is called recursively when setting a widget with +The `:set_children()` method gets called recursively when setting a widget with the declarative layout system, therefore the method should be well defined. -It should probably hook to the `:add` or `:add_widget` methods or be overridden -to do nothing. +It should probably hook into the `:add` or `:add_widget` methods or be +overridden to do nothing. diff --git a/lib/wibox/widget/base.lua b/lib/wibox/widget/base.lua index 351984328..2023f6e4e 100644 --- a/lib/wibox/widget/base.lua +++ b/lib/wibox/widget/base.lua @@ -504,7 +504,9 @@ local function drill(ids, content) end end -- Replace all children (if any) with the new ones. - l:set_children(widgets) + if widgets then + l:set_children(widgets) + end return l, id end