awesome/lib/awful
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 Use signal emitions on classes 2010-08-26 18:31:06 +02:00
mouse lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
widget {tag,task}list: Use a weak-valued table 2010-09-16 17:28:50 +02:00
autofocus.lua.in Use signal emitions on classes 2010-08-26 18:31:06 +02:00
button.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
client.lua.in Add two more missing signals 2010-08-27 21:42:14 +02:00
completion.lua.in awful.completion: use sort -u to sort (FS#621) 2009-09-22 17:15:49 +02:00
dbus.lua.in awful.dbus: enhance description 2009-08-28 15:33:18 +02:00
ewmh.lua.in Convert some more code to "class signals" 2010-08-26 18:42:38 +02:00
init.lua.in client: implements maximized and fullscreen requests with Lua 2010-05-28 13:29:29 +02:00
key.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
menu.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
placement.lua.in awful.placement.no_overlap: Ignore desktop clients 2010-09-03 17:43:36 +02:00
prompt.lua.in awful.prompt: insert selection at cursor position 2010-08-31 13:48:59 +02:00
remote.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
rules.lua.in Add match_any function and rule_any definition for different client matching. 2010-09-14 16:51:40 +02:00
screen.lua.in Add signals before using them 2010-08-25 23:00:36 +02:00
startup_notification.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
tag.lua.in Revert "tag.lua: check name argument to add() is valid" 2010-09-08 10:18:21 +02:00
tooltip.lua.in lua{class,object}: rename signals functions 2010-08-25 20:28:20 +02:00
util.lua.in Fix awful.util.table.reverse 2009-11-17 10:25:12 +01:00
wibox.lua.in Wibox: Remove shape support 2010-08-30 10:22:50 +02:00