com php/gtk-src: Beginning removal of tsrmls_fetch calls (ugh): ext/gtk+/gtk.overrides generator/arg_types .php generator/templates.php
main/php_gtk.c main/ phpg_exceptions.c main/phpg_gobject.c main/phpg_g type.c main/phpg_support.c
| From: | Elizabeth Marie Smith | Date: | Wed, 18 Jul 2012 15:40:53 +0000 |
| Subject: | com php/gtk-src: Beginning removal of tsrmls_fetch calls (ugh): ext/gtk+/gtk.overrides generator/arg_types .php generator/templates.php main/php_gtk.c main/ phpg_exceptions.c main/phpg_gobject.c main/phpg_g type.c main/phpg_support.c |
||
| Groups: | php.gtk.cvs | ||
| Request: | Send a blank email to php-gtk-cvs+get-4869@lists.php.net to get a copy of this message | ||
Commit: d972807a2eb0a5ac045ba983ac3f93d7d365b8f1
Author: Elizabeth M Smith <auroraeosrose@gmail.com> Wed, 18 Jul 2012 11:40:53 -0400
Parents: 7d73feb32c54325a3c249756999b3e56942de5f6
Branches: master
Link: http://git.php.net/?p=php/gtk-src.git;a=commitdiff;h=d972807a2eb0a5ac045ba983ac3f93d7d365b8f1
Log:
Beginning removal of tsrmls_fetch calls (ugh)
Changed paths:
M ext/gtk+/gtk.overrides
M generator/arg_types.php
M generator/templates.php
M main/php_gtk.c
M main/phpg_exceptions.c
M main/phpg_gobject.c
M main/phpg_gtype.c
M main/phpg_support.c
diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides index d9027f2..5f6ff88 100644 --- a/ext/gtk+/gtk.overrides +++ b/ext/gtk+/gtk.overrides @@ -1294,13 +1294,13 @@ PHP_METHOD &step_incr, &page_incr, &page_size)) return; - wrapped_obj = g_object_new(phpg_gtype_from_zval(this_ptr), + wrapped_obj = g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "value", value, "lower", lower, "upper", upper, "step_increment", step_incr, "page_increment", page_incr, "page_size", page_size, NULL); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkAdjustment); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkAdjustment TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -1376,20 +1376,20 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } if (text) { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), "label", + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "label", text, "use-underline", use_underline, NULL); } else { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); } if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -1411,7 +1411,7 @@ PHP_METHOD zend_bool free_stock_id; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "u", &stock_id, &free_stock_id)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_class(EG(scope) TSRMLS_CC), "label", stock_id, @@ -1420,7 +1420,7 @@ PHP_METHOD if (free_stock_id) g_free(stock_id); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } phpg_gobject_new(&return_value, wrapped_obj TSRMLS_CC); @@ -1520,20 +1520,20 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton TSRMLS_CC); } if (text) { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), "label", + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "label", text, "use-underline", use_underline, NULL); } else { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); } if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -1558,10 +1558,10 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem TSRMLS_CC); } - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); if (text) { GtkWidget *accel_label; accel_label = g_object_new(GTK_TYPE_ACCEL_LABEL, NULL); @@ -1578,7 +1578,7 @@ PHP_METHOD if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -5464,20 +5464,20 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton TSRMLS_CC); } if (text) { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), "label", + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "label", text, "use-underline", use_underline, NULL); } else { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); } if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); diff --git a/generator/arg_types.php b/generator/arg_types.php index 19d8f3b..866de2e 100644 --- a/generator/arg_types.php +++ b/generator/arg_types.php @@ -910,7 +910,7 @@ class GType_Arg extends Arg_Type { $info->var_list->add('zval', '*php_' . $name . ' = NULL'); $info->arg_list[] = $name; $info->add_parse_list('V', '&php_' . $name); - $info->pre_code[] = " if (($name = phpg_gtype_from_zval(php_$name)) == 0) {\n" . + $info->pre_code[] = " if (($name = phpg_gtype_from_zval(php_$name TSRMLS_CC)) == 0) {\n" . " $info->error_action;\n" . " }\n"; } diff --git a/generator/templates.php b/generator/templates.php index b71da16..a098086 100644 --- a/generator/templates.php +++ b/generator/templates.php @@ -188,7 +188,7 @@ static PHP_METHOD(%(class), %(name)) } %(pre_code) - wrapped_obj = (GObject *) g_object_newv(phpg_gtype_from_zval(this_ptr), 0, NULL); + wrapped_obj = (GObject *) g_object_newv(phpg_gtype_from_zval(this_ptr TSRMLS_CC), 0, NULL); %(post_code) if (!wrapped_obj) { PHPG_THROW_CONSTRUCT_EXCEPTION(%(class)); diff --git a/main/php_gtk.c b/main/php_gtk.c index e674df9..871f9d5 100644 --- a/main/php_gtk.c +++ b/main/php_gtk.c @@ -189,7 +189,7 @@ PHP_RINIT_FUNCTION(gtk) php_gtk_handlers.get_property_ptr_ptr = phpg_get_property_ptr_ptr; php_gtk_handlers.clone_obj = NULL; - phpg_register_exceptions(); + phpg_register_exceptions(TSRMLS_C); /* * Initialize the type system and the GType wrapper class. diff --git a/main/phpg_exceptions.c b/main/phpg_exceptions.c index 7fcfb62..b89e4a7 100644 --- a/main/phpg_exceptions.c +++ b/main/phpg_exceptions.c @@ -27,10 +27,9 @@ PHP_GTK_API zend_class_entry *phpg_construct_exception = NULL; PHP_GTK_API zend_class_entry *phpg_type_exception = NULL; PHP_GTK_API zend_class_entry *phpg_gerror_exception = NULL; -void phpg_register_exceptions() +void phpg_register_exceptions(TSRMLS_D) { zend_class_entry ce; - TSRMLS_FETCH(); INIT_CLASS_ENTRY(ce, "PhpGtkException", NULL); #if ZEND_EXTENSION_API_NO > 220051025 diff --git a/main/phpg_gobject.c b/main/phpg_gobject.c index 439a061..3e11b63 100644 --- a/main/phpg_gobject.c +++ b/main/phpg_gobject.c @@ -209,7 +209,7 @@ PHP_GTK_API void phpg_gobject_new(zval **zobj, GObject *obj TSRMLS_DC) zend_objects_store_add_ref(*zobj TSRMLS_CC); } } else { - ce = phpg_class_from_gtype(G_OBJECT_TYPE(obj)); + ce = phpg_class_from_gtype(G_OBJECT_TYPE(obj) TSRMLS_CC); object_init_ex(*zobj, ce); g_object_ref(obj); @@ -261,11 +261,11 @@ zend_bool phpg_gobject_construct(zval *this_ptr, GType object_type, zval *props if (G_TYPE_IS_ABSTRACT(object_type)) { snprintf(buf, 128, "Cannot instantiate abstract class %s", g_type_name(object_type)); - PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, buf, 0); + PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, buf, 0 TSRMLS_CC); } if ((klass = g_type_class_ref(object_type)) == NULL) { - PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, "Could not get a reference to type class", 0); + PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, "Could not get a reference to type class", 0 TSRMLS_CC); } if (props) { @@ -349,9 +349,9 @@ static PHP_METHOD(GObject, __construct) } if (php_type) { - my_type = phpg_gtype_from_zval(php_type); + my_type = phpg_gtype_from_zval(php_type TSRMLS_CC); } else { - my_type = phpg_gtype_from_zval(this_ptr); + my_type = phpg_gtype_from_zval(this_ptr TSRMLS_CC); } phpg_gobject_construct(this_ptr, my_type, php_props TSRMLS_CC); @@ -764,7 +764,7 @@ static void phpg_signal_list_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool list_n if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "V", &php_type)) return; - type = phpg_gtype_from_zval(php_type); + type = phpg_gtype_from_zval(php_type TSRMLS_CC); if (!type) return; @@ -830,7 +830,7 @@ static PHP_METHOD(GObject, signal_query) return; } - gtype = phpg_gtype_from_zval(php_type); + gtype = phpg_gtype_from_zval(php_type TSRMLS_CC); if (!gtype) return; @@ -901,7 +901,7 @@ static PHP_METHOD(GObject, list_properties) return; } - if ((type = phpg_gtype_from_zval(php_type)) == 0) { + if ((type = phpg_gtype_from_zval(php_type TSRMLS_CC)) == 0) { return; } @@ -1202,7 +1202,7 @@ static int phpg_register_properties(GType type, zval *properties) break; } - prop_type = phpg_gtype_from_zval(php_prop_type); + prop_type = phpg_gtype_from_zval(php_prop_type TSRMLS_CC); if (prop_type == 0) { retval = FAILURE; break; @@ -1266,7 +1266,7 @@ static int phpg_create_signal(GType type, const char *signal_name, zval *data TS return FAILURE; } - return_type = phpg_gtype_from_zval(php_return_type); + return_type = phpg_gtype_from_zval(php_return_type TSRMLS_CC); if (0 == return_type) { return FAILURE; } @@ -1277,7 +1277,7 @@ static int phpg_create_signal(GType type, const char *signal_name, zval *data TS zend_hash_get_current_data(Z_ARRVAL_P(php_param_types), (void**)&item) == SUCCESS; zend_hash_move_forward(Z_ARRVAL_P(php_param_types)), i++) { - param_types[i] = phpg_gtype_from_zval(*item); + param_types[i] = phpg_gtype_from_zval(*item TSRMLS_CC); if (0 == param_types[i]) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not get type of param #%d gor signal '%s'", i+1, signal_name); efree(param_types); diff --git a/main/phpg_gtype.c b/main/phpg_gtype.c index e0af125..b02052d 100644 --- a/main/phpg_gtype.c +++ b/main/phpg_gtype.c @@ -140,10 +140,9 @@ PHP_GTK_API GType phpg_gtype_from_class(zend_class_entry *ce TSRMLS_DC) } /* TODO add support for boxed types */ -PHP_GTK_API GType phpg_gtype_from_zval(zval *value) +PHP_GTK_API GType phpg_gtype_from_zval(zval *value TSRMLS_DC) { GType type; - TSRMLS_FETCH(); if (!value) { php_error(E_WARNING, "PHP-GTK internal error: could not get typecode from value"); diff --git a/main/phpg_support.c b/main/phpg_support.c index db1e94d..6ec69ef 100644 --- a/main/phpg_support.c +++ b/main/phpg_support.c @@ -510,16 +510,15 @@ static int unset_abstract_flag(zend_function *func, int num_args, va_list args, return ZEND_HASH_APPLY_KEEP; } -PHP_GTK_API zend_class_entry* phpg_create_class(GType gtype) +PHP_GTK_API zend_class_entry* phpg_create_class(GType gtype TSRMLS_DC) { zend_class_entry *parent_ce, *iface_ce, *ce; gchar* gtype_name; GType parent_type, *ifaces; guint i, n_ifaces = 0; - TSRMLS_FETCH(); parent_type = g_type_parent(gtype); - parent_ce = phpg_class_from_gtype(parent_type); + parent_ce = phpg_class_from_gtype(parent_type TSRMLS_CC); gtype_name = (gchar *) g_type_name(gtype); ce = phpg_register_class(gtype_name, NULL, parent_ce, 0, NULL, NULL, gtype TSRMLS_CC); @@ -527,7 +526,7 @@ PHP_GTK_API zend_class_entry* phpg_create_class(GType gtype) ifaces = g_type_interfaces(gtype, &n_ifaces); if (n_ifaces) { for (i = 0; i < n_ifaces; i++) { - iface_ce = phpg_class_from_gtype(ifaces[i]); + iface_ce = phpg_class_from_gtype(ifaces[i] TSRMLS_CC); zend_class_implements(ce TSRMLS_CC, 1, iface_ce); if (!G_TYPE_IS_INTERFACE(gtype)) { #if defined(PHP_VERSION_ID) && PHP_VERSION_ID >= 50300 && ZTS
diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides index d9027f2..5f6ff88 100644 --- a/ext/gtk+/gtk.overrides +++ b/ext/gtk+/gtk.overrides @@ -1294,13 +1294,13 @@ PHP_METHOD &step_incr, &page_incr, &page_size)) return; - wrapped_obj = g_object_new(phpg_gtype_from_zval(this_ptr), + wrapped_obj = g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "value", value, "lower", lower, "upper", upper, "step_increment", step_incr, "page_increment", page_incr, "page_size", page_size, NULL); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkAdjustment); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkAdjustment TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -1376,20 +1376,20 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } if (text) { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), "label", + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "label", text, "use-underline", use_underline, NULL); } else { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); } if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -1411,7 +1411,7 @@ PHP_METHOD zend_bool free_stock_id; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "u", &stock_id, &free_stock_id)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_class(EG(scope) TSRMLS_CC), "label", stock_id, @@ -1420,7 +1420,7 @@ PHP_METHOD if (free_stock_id) g_free(stock_id); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkButton TSRMLS_CC); } phpg_gobject_new(&return_value, wrapped_obj TSRMLS_CC); @@ -1520,20 +1520,20 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton TSRMLS_CC); } if (text) { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), "label", + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "label", text, "use-underline", use_underline, NULL); } else { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); } if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkCheckButton TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -1558,10 +1558,10 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem TSRMLS_CC); } - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); if (text) { GtkWidget *accel_label; accel_label = g_object_new(GTK_TYPE_ACCEL_LABEL, NULL); @@ -1578,7 +1578,7 @@ PHP_METHOD if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkMenuItem TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); @@ -5464,20 +5464,20 @@ PHP_METHOD zend_bool free_text = FALSE, use_underline = 1; if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "|ub", &text, &free_text, &use_underline)) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton TSRMLS_CC); } if (text) { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), "label", + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), "label", text, "use-underline", use_underline, NULL); } else { - wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr), NULL); + wrapped_obj = (GObject *)g_object_new(phpg_gtype_from_zval(this_ptr TSRMLS_CC), NULL); } if (free_text) g_free(text); if (!wrapped_obj) { - PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton); + PHPG_THROW_CONSTRUCT_EXCEPTION(GtkToggleButton TSRMLS_CC); } phpg_gobject_set_wrapper(this_ptr, wrapped_obj TSRMLS_CC); diff --git a/generator/arg_types.php b/generator/arg_types.php index 19d8f3b..866de2e 100644 --- a/generator/arg_types.php +++ b/generator/arg_types.php @@ -910,7 +910,7 @@ class GType_Arg extends Arg_Type { $info->var_list->add('zval', '*php_' . $name . ' = NULL'); $info->arg_list[] = $name; $info->add_parse_list('V', '&php_' . $name); - $info->pre_code[] = " if (($name = phpg_gtype_from_zval(php_$name)) == 0) {\n" . + $info->pre_code[] = " if (($name = phpg_gtype_from_zval(php_$name TSRMLS_CC)) == 0) {\n" . " $info->error_action;\n" . " }\n"; } diff --git a/generator/templates.php b/generator/templates.php index b71da16..a098086 100644 --- a/generator/templates.php +++ b/generator/templates.php @@ -188,7 +188,7 @@ static PHP_METHOD(%(class), %(name)) } %(pre_code) - wrapped_obj = (GObject *) g_object_newv(phpg_gtype_from_zval(this_ptr), 0, NULL); + wrapped_obj = (GObject *) g_object_newv(phpg_gtype_from_zval(this_ptr TSRMLS_CC), 0, NULL); %(post_code) if (!wrapped_obj) { PHPG_THROW_CONSTRUCT_EXCEPTION(%(class)); diff --git a/main/php_gtk.c b/main/php_gtk.c index e674df9..871f9d5 100644 --- a/main/php_gtk.c +++ b/main/php_gtk.c @@ -189,7 +189,7 @@ PHP_RINIT_FUNCTION(gtk) php_gtk_handlers.get_property_ptr_ptr = phpg_get_property_ptr_ptr; php_gtk_handlers.clone_obj = NULL; - phpg_register_exceptions(); + phpg_register_exceptions(TSRMLS_C); /* * Initialize the type system and the GType wrapper class. diff --git a/main/phpg_exceptions.c b/main/phpg_exceptions.c index 7fcfb62..b89e4a7 100644 --- a/main/phpg_exceptions.c +++ b/main/phpg_exceptions.c @@ -27,10 +27,9 @@ PHP_GTK_API zend_class_entry *phpg_construct_exception = NULL; PHP_GTK_API zend_class_entry *phpg_type_exception = NULL; PHP_GTK_API zend_class_entry *phpg_gerror_exception = NULL; -void phpg_register_exceptions() +void phpg_register_exceptions(TSRMLS_D) { zend_class_entry ce; - TSRMLS_FETCH(); INIT_CLASS_ENTRY(ce, "PhpGtkException", NULL); #if ZEND_EXTENSION_API_NO > 220051025 diff --git a/main/phpg_gobject.c b/main/phpg_gobject.c index 439a061..3e11b63 100644 --- a/main/phpg_gobject.c +++ b/main/phpg_gobject.c @@ -209,7 +209,7 @@ PHP_GTK_API void phpg_gobject_new(zval **zobj, GObject *obj TSRMLS_DC) zend_objects_store_add_ref(*zobj TSRMLS_CC); } } else { - ce = phpg_class_from_gtype(G_OBJECT_TYPE(obj)); + ce = phpg_class_from_gtype(G_OBJECT_TYPE(obj) TSRMLS_CC); object_init_ex(*zobj, ce); g_object_ref(obj); @@ -261,11 +261,11 @@ zend_bool phpg_gobject_construct(zval *this_ptr, GType object_type, zval *props if (G_TYPE_IS_ABSTRACT(object_type)) { snprintf(buf, 128, "Cannot instantiate abstract class %s", g_type_name(object_type)); - PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, buf, 0); + PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, buf, 0 TSRMLS_CC); } if ((klass = g_type_class_ref(object_type)) == NULL) { - PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, "Could not get a reference to type class", 0); + PHPG_THROW_EXCEPTION_WITH_RETURN(phpg_construct_exception, "Could not get a reference to type class", 0 TSRMLS_CC); } if (props) { @@ -349,9 +349,9 @@ static PHP_METHOD(GObject, __construct) } if (php_type) { - my_type = phpg_gtype_from_zval(php_type); + my_type = phpg_gtype_from_zval(php_type TSRMLS_CC); } else { - my_type = phpg_gtype_from_zval(this_ptr); + my_type = phpg_gtype_from_zval(this_ptr TSRMLS_CC); } phpg_gobject_construct(this_ptr, my_type, php_props TSRMLS_CC); @@ -764,7 +764,7 @@ static void phpg_signal_list_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool list_n if (!php_gtk_parse_args(ZEND_NUM_ARGS(), "V", &php_type)) return; - type = phpg_gtype_from_zval(php_type); + type = phpg_gtype_from_zval(php_type TSRMLS_CC); if (!type) return; @@ -830,7 +830,7 @@ static PHP_METHOD(GObject, signal_query) return; } - gtype = phpg_gtype_from_zval(php_type); + gtype = phpg_gtype_from_zval(php_type TSRMLS_CC); if (!gtype) return; @@ -901,7 +901,7 @@ static PHP_METHOD(GObject, list_properties) return; } - if ((type = phpg_gtype_from_zval(php_type)) == 0) { + if ((type = phpg_gtype_from_zval(php_type TSRMLS_CC)) == 0) { return; } @@ -1202,7 +1202,7 @@ static int phpg_register_properties(GType type, zval *properties) break; } - prop_type = phpg_gtype_from_zval(php_prop_type); + prop_type = phpg_gtype_from_zval(php_prop_type TSRMLS_CC); if (prop_type == 0) { retval = FAILURE; break; @@ -1266,7 +1266,7 @@ static int phpg_create_signal(GType type, const char *signal_name, zval *data TS return FAILURE; } - return_type = phpg_gtype_from_zval(php_return_type); + return_type = phpg_gtype_from_zval(php_return_type TSRMLS_CC); if (0 == return_type) { return FAILURE; } @@ -1277,7 +1277,7 @@ static int phpg_create_signal(GType type, const char *signal_name, zval *data TS zend_hash_get_current_data(Z_ARRVAL_P(php_param_types), (void**)&item) == SUCCESS; zend_hash_move_forward(Z_ARRVAL_P(php_param_types)), i++) { - param_types[i] = phpg_gtype_from_zval(*item); + param_types[i] = phpg_gtype_from_zval(*item TSRMLS_CC); if (0 == param_types[i]) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "could not get type of param #%d gor signal '%s'", i+1, signal_name); efree(param_types); diff --git a/main/phpg_gtype.c b/main/phpg_gtype.c index e0af125..b02052d 100644 --- a/main/phpg_gtype.c +++ b/main/phpg_gtype.c @@ -140,10 +140,9 @@ PHP_GTK_API GType phpg_gtype_from_class(zend_class_entry *ce TSRMLS_DC) } /* TODO add support for boxed types */ -PHP_GTK_API GType phpg_gtype_from_zval(zval *value) +PHP_GTK_API GType phpg_gtype_from_zval(zval *value TSRMLS_DC) { GType type; - TSRMLS_FETCH(); if (!value) { php_error(E_WARNING, "PHP-GTK internal error: could not get typecode from value"); diff --git a/main/phpg_support.c b/main/phpg_support.c index db1e94d..6ec69ef 100644 --- a/main/phpg_support.c +++ b/main/phpg_support.c @@ -510,16 +510,15 @@ static int unset_abstract_flag(zend_function *func, int num_args, va_list args, return ZEND_HASH_APPLY_KEEP; } -PHP_GTK_API zend_class_entry* phpg_create_class(GType gtype) +PHP_GTK_API zend_class_entry* phpg_create_class(GType gtype TSRMLS_DC) { zend_class_entry *parent_ce, *iface_ce, *ce; gchar* gtype_name; GType parent_type, *ifaces; guint i, n_ifaces = 0; - TSRMLS_FETCH(); parent_type = g_type_parent(gtype); - parent_ce = phpg_class_from_gtype(parent_type); + parent_ce = phpg_class_from_gtype(parent_type TSRMLS_CC); gtype_name = (gchar *) g_type_name(gtype); ce = phpg_register_class(gtype_name, NULL, parent_ce, 0, NULL, NULL, gtype TSRMLS_CC); @@ -527,7 +526,7 @@ PHP_GTK_API zend_class_entry* phpg_create_class(GType gtype) ifaces = g_type_interfaces(gtype, &n_ifaces); if (n_ifaces) { for (i = 0; i < n_ifaces; i++) { - iface_ce = phpg_class_from_gtype(ifaces[i]); + iface_ce = phpg_class_from_gtype(ifaces[i] TSRMLS_CC); zend_class_implements(ce TSRMLS_CC, 1, iface_ce); if (!G_TYPE_IS_INTERFACE(gtype)) { #if defined(PHP_VERSION_ID) && PHP_VERSION_ID >= 50300 && ZTS