com gtk/php-gtk: Use proper original handlers when creating custom ones.: generator/generator.php generator/templates.php main/php_gtk .h main/phpg_gobject.c
[email protected] (David Soria Parra) Sun, 19 Feb 2006 21:53:44 +0000
| Newsgroups | php.gtk.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: 6ca129cece1bfe30e2e3cd04eae0e5e6b3bde640 Author: Andrei Zmievski <[email protected]> Sun, 19 Feb 2006 21:53:44 +0000 Parents: 849d6d3c9d3fac11aba1bf3cf60eddcfc58856eb Branches: master Link: http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=6ca129cece1bfe30e2e3cd04eae0e5e6b3bde640 Log: Use proper original handlers when creating custom ones. Changed paths: M generator/generator.php M generator/templates.php M main/php_gtk.h M main/phpg_gobject.c Diff: 6ca129cece1bfe30e2e3cd04eae0e5e6b3bde640 diff --git a/generator/generator.php b/generator/generator.php index 646e478..3da1815 100644 --- a/generator/generator.php +++ b/generator/generator.php @@ -639,10 +639,12 @@ class Generator { switch ($object->def_type) { case 'object': $dict['create_func'] = 'phpg_create_gobject'; + $dict['orig_handlers'] = 'phpg_gobject_handlers'; break; case 'boxed': $dict['create_func'] = 'phpg_create_gboxed'; + $dict['orig_handlers'] = 'php_gtk_handlers'; break; default: diff --git a/generator/templates.php b/generator/templates.php index 7ecdddd..d9a6ece 100644 --- a/generator/templates.php +++ b/generator/templates.php @@ -199,7 +199,7 @@ static function_entry %s_methods[] = { "; const functions_decl_end = "\t{ NULL, NULL, NULL }\n};\n"; -const custom_handlers_init = "\t%(class)_object_handlers = php_gtk_handlers;\n"; +const custom_handlers_init = "\t%(class)_object_handlers = %(orig_handlers);\n"; const custom_handler_set = "\t%(class)_object_handlers.%(handler) = phpg_%(class)_%(handler)_handler;\n"; const custom_create_func = " diff --git a/main/php_gtk.h b/main/php_gtk.h index 65705c9..63d04bd 100644 --- a/main/php_gtk.h +++ b/main/php_gtk.h @@ -236,6 +236,7 @@ extern PHP_GTK_API zend_class_entry *phpg_type_exception; extern PHP_GTK_API zend_class_entry *phpg_gerror_exception; extern PHP_GTK_API zend_object_handlers php_gtk_handlers; +extern PHP_GTK_API zend_object_handlers phpg_gobject_handlers; /* Function declarations. */ diff --git a/main/phpg_gobject.c b/main/phpg_gobject.c index 856d4cb..12199d8 100644 --- a/main/phpg_gobject.c +++ b/main/phpg_gobject.c @@ -30,7 +30,7 @@ static GQuark gobject_wrapper_handle_key = 0; static GQuark gobject_wrapper_handlers_key = 0; static GQuark gobject_wrapper_owned_key = 0; -static zend_object_handlers phpg_gobject_handlers; +PHP_GTK_API zend_object_handlers phpg_gobject_handlers; HashTable phpg_prop_info;