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;
 	}
     }