diff options
author | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:10:23 +0000 |
---|---|---|
committer | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:10:23 +0000 |
commit | aad2fbfc439d7f5207ab4d65ff2b3355508c157b (patch) | |
tree | 4b988a4c08bfd9e7472a496902b94e700a23d6c3 /bindings/lang_php5_helpers/wrapper_source.py | |
parent | cd1df0cf8df0b0d6962443ad4ffffb5f2929ddf2 (diff) | |
download | lasso-aad2fbfc439d7f5207ab4d65ff2b3355508c157b.tar.gz lasso-aad2fbfc439d7f5207ab4d65ff2b3355508c157b.tar.xz lasso-aad2fbfc439d7f5207ab4d65ff2b3355508c157b.zip |
[project @ fpeters@0d.be-20080416142356-cl3d6hb3ru62p8xv]
Damien Laniel 2008-04-16 added PHPGObject destructors and fixed some memory management
Original author: Frederic Peters <fpeters@0d.be>
Date: 2008-04-16 16:23:56.715000+02:00
Diffstat (limited to 'bindings/lang_php5_helpers/wrapper_source.py')
-rw-r--r-- | bindings/lang_php5_helpers/wrapper_source.py | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/bindings/lang_php5_helpers/wrapper_source.py b/bindings/lang_php5_helpers/wrapper_source.py index 3905d048..46ea5f60 100644 --- a/bindings/lang_php5_helpers/wrapper_source.py +++ b/bindings/lang_php5_helpers/wrapper_source.py @@ -64,7 +64,7 @@ class WrapperSource: print >> self.fd, '''\ PHP_MINIT_FUNCTION(lasso) { - le_lasso_server = zend_register_list_destructors_ex(NULL, NULL, PHP_LASSO_SERVER_RES_NAME, module_number); + le_lasso_server = zend_register_list_destructors_ex(php_gobject_generic_destructor, NULL, PHP_LASSO_SERVER_RES_NAME, module_number); ''' def generate_constants(self): @@ -149,9 +149,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) else: print >> self.fd, '''\ if (return_c_value) { - self = (PhpGObjectPtr *)emalloc(sizeof(PhpGObjectPtr)); - self->obj = G_OBJECT(return_c_value); - self->typename = estrdup(G_OBJECT_TYPE_NAME(G_OBJECT(return_c_value))); + self = PhpGObjectPtr_New(G_OBJECT(return_c_value)); ZEND_REGISTER_RESOURCE(return_value, self, le_lasso_server); } else { RETURN_NULL(); @@ -287,7 +285,7 @@ PHP_MSHUTDOWN_FUNCTION(lasso) if self.is_object(m_type): print >> self.fd, ' if (this->%s != NULL) {' % m_name - print >> self.fd, ' return_c_value = g_object_ref(this->%s);' % m_name + print >> self.fd, ' return_c_value = this->%s;' % m_name print >> self.fd, ' }' else: print >> self.fd, ' return_c_value = this->%s;' % m_name |