Mercurial > MadButterfly
diff nodejs/coord.cc @ 766:be0e02948c1d
Improve resource management for coords, shapes and paints.
- Make paint to use weak reference to release resource before collected.
- Call Persistent<Object>::Dispose() before deleting the handle
variable. Dispose() will real release Persistent handle. Handle
variable is just a pointer to the handle.
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Sun, 29 Aug 2010 13:34:40 +0800 |
parents | ed59e659a202 |
children | 13669b28826d |
line wrap: on
line diff
--- a/nodejs/coord.cc Sun Aug 29 00:42:16 2010 +0800 +++ b/nodejs/coord.cc Sun Aug 29 13:34:40 2010 +0800 @@ -81,6 +81,7 @@ PROP_JSOBJ); SET(*child_hdl, "valid", _false); WRAP(*child_hdl, NULL); + child_hdl->Dispose(); delete child_hdl; /* Invalidate members of a coord */ @@ -89,6 +90,7 @@ PROP_JSOBJ); SET(*mem_hdl, "valid", _false); WRAP(*mem_hdl, NULL); + mem_hdl->Dispose(); delete mem_hdl; } }