Don't keep an extra reference to closures
Don't keep an extra reference to closures

There's no need to hold an extra reference to closures ourselves; the
user of the closure (the signal system say), will keep the closure
referenced as long as it can be invoked.

Since invalidation notifiers are typically only called when the closure
is finalized, this was causing almost all closures (and the referenced
JS objects) to be leaked, since a referenced closure would never be
finalized or invalidated.

http://bugzilla.gnome.org/show_bug.cgi?id=567078

svn path=/trunk/; revision=138

pixunil/cjs,magcius/gjs,pixunil/cjs,joeshaw/gjs,djdeath/gjs,mtwebster/cjs,pixunil/cjs,mtwebster/cjs,joeshaw/gjs,endlessm/gjs,joeshaw/gjs,magcius/gjs,djdeath/gjs,joeshaw/gjs,endlessm/gjs,djdeath/gjs,mtwebster/cjs,pixunil/cjs,djdeath/gjs,magcius/gjs,joeshaw/gjs,mtwebster/cjs,endlessm/gjs,mtwebster/cjs,djdeath/gjs,endlessm/gjs,endlessm/gjs,pixunil/cjs,magcius/gjs,magcius/gjs