[prev in list] [next in list] [prev in thread] [next in thread]
List: php-gtk-cvs
Subject: [php-gtk-cvs] com gtk/php-gtk: Use proper original handlers when creating custom ones.: generator/ge
From: David Soria Parra <dsp () php ! net>
Date: 2006-02-19 21:53:44
Message-ID: php-mail-95bd4caaba3235bac14188f5f41f57f01522647682 () git ! php ! net
[Download RAW message or body]
Commit: 6ca129cece1bfe30e2e3cd04eae0e5e6b3bde640
Author: Andrei Zmievski <andrei@php.net> 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;
--
PHP-GTK CVS Mailing List (http://gtk.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic