awesome/lib/awful/widget
Uli Schlachter 89f05c90ca {tag,task}list: Use a weak-valued table
The data table is used to map objects (clients/tags) to the buttons associated
with them. This is done so that we don't have to re-create the button objects
each time this lists are updated.

The problem was that this weak-keyed table was never cleared, because the value
had a strong reference to the key (via the button's signal):

btn:connect_signal("press", function () b:emit_signal("press", o) end)

"o" is the key in the table and btn is reachable from the value. This prevented
the garbage collection of the key. Using a weak-keyed and weak-valued table
fixes this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2010-09-16 17:28:50 +02:00
..
layout widget layouts: always set widgets.height as total 2009-11-05 18:07:00 +01:00
button.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
common.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
graph.lua.in stack graph mode works with max_value 2010-08-05 14:28:14 +02:00
init.lua.in awful.widget.textclock: import 2009-08-17 17:49:38 +02:00
launcher.lua.in Revert "key, button: use as simple table" 2009-08-14 16:48:52 +02:00
layoutbox.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
progressbar.lua.in docs: progressbar.lua.in missing a dash to prevent luadoc generation 2010-05-03 11:02:20 +02:00
prompt.lua.in prompt: Only show error messages 2010-08-09 14:24:58 +02:00
taglist.lua.in {tag,task}list: Use a weak-valued table 2010-09-16 17:28:50 +02:00
tasklist.lua.in {tag,task}list: Use a weak-valued table 2010-09-16 17:28:50 +02:00
textclock.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00