com php/gtk-src: More tsrmls fixes: ext/gtk+/gtk-2.10.overrides ext/gtk+/gtk.overrides ext/gtk+/gtkclipboard.overrides ext/gtk+/gtktextview.overrides
ext/gtk+/gtktreeview.overrides main/php_gtk.h
| From: | Elizabeth Marie Smith | Date: | Thu, 19 Jul 2012 01:49:57 +0000 |
| Subject: | com php/gtk-src: More tsrmls fixes: ext/gtk+/gtk-2.10.overrides ext/gtk+/gtk.overrides ext/gtk+/gtkclipboard.overrides ext/gtk+/gtktextview.overrides ext/gtk+/gtktreeview.overrides main/php_gtk.h |
||
| Groups: | php.gtk.cvs | ||
| Request: | Send a blank email to php-gtk-cvs+get-4864@lists.php.net to get a copy of this message | ||
Commit: ca38c464c92e0366fe0b5ea16ebd8dca488131f8
Author: Elizabeth M Smith <auroraeosrose@gmail.com> Wed, 18 Jul 2012 21:49:57 -0400
Parents: 68a733751e399aee4e4d0056c52b17f72cc2e4a5
Branches: master
Link: http://git.php.net/?p=php/gtk-src.git;a=commitdiff;h=ca38c464c92e0366fe0b5ea16ebd8dca488131f8
Log:
More tsrmls fixes
Changed paths:
M ext/gtk+/gtk-2.10.overrides
M ext/gtk+/gtk..overrides
M ext/gtk+/gtkclipboard.overrides
M ext/gtk+/gtktextview.overrides
M ext/gtk+/gtktreeview.overrides
M main/php_gtk.h
diff --git a/ext/gtk+/gtk-2.10.overrides b/ext/gtk+/gtk-2.10.overrides index e9880d5..6a0c507 100644 --- a/ext/gtk+/gtk-2.10.overrides +++ b/ext/gtk+/gtk-2.10.overrides @@ -39,7 +39,9 @@ static void phpg_link_button_set_uri_hook_func_marshal(GtkLinkButton *button, co gsize cp_len; zend_bool free_result; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -324,17 +326,19 @@ phpg_recent_chooser_sort_func_marshal(GtkRecentInfo *a, GtkRecentInfo *b, gpoint int argc = 0, status = 0; zval ***argv = NULL, *retval = NULL; zval *zinfo_a = NULL, *zinfo_b = NULL; - phpg_cb_data_t *calldata = (phpg_cb_data_t *)data; - - TSRMLS_FETCH(); + phpg_cb_data_t *cbd = (phpg_cb_data_t *)data; + +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif - if (!zend_is_callable(calldata->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { + if (!zend_is_callable(cbd->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { php_error( E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback, - calldata->src_filename, - calldata->src_lineno + cbd->src_filename, + cbd->src_lineno ); efree(callback); @@ -344,14 +348,14 @@ phpg_recent_chooser_sort_func_marshal(GtkRecentInfo *a, GtkRecentInfo *b, gpoint phpg_gboxed_new(&zinfo_a,GTK_TYPE_RECENT_INFO,a,TRUE,TRUE TSRMLS_CC); phpg_gboxed_new(&zinfo_b,GTK_TYPE_RECENT_INFO,b,TRUE,TRUE TSRMLS_CC); - argv = php_gtk_hash_as_array_offset(calldata->user_args,2,&argc); + argv = php_gtk_hash_as_array_offset(cbd->user_args,2,&argc); argv[0] = &zinfo_a; argv[1] = &zinfo_b; call_user_function_ex( EG(function_table), NULL, - calldata->callback, + cbd->callback, &retval, argc, argv, @@ -586,17 +590,19 @@ phpg_assistant_forward_page_func_marshal(gint cur, gpointer data) int argc = 0, status = 0; zval ***argv = NULL, *retval = NULL; zval *zcur; - phpg_cb_data_t *calldata = (phpg_cb_data_t *)data; + phpg_cb_data_t *cbd = (phpg_cb_data_t *)data; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif - if (!zend_is_callable(calldata->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { + if (!zend_is_callable(cbd->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { php_error( E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback, - calldata->src_filename, - calldata->src_lineno + cbd->src_filename, + cbd->src_lineno ); efree(callback); @@ -606,13 +612,13 @@ phpg_assistant_forward_page_func_marshal(gint cur, gpointer data) MAKE_STD_ZVAL(zcur); ZVAL_LONG(zcur,cur); - argv = php_gtk_hash_as_array_offset(calldata->user_args,1,&argc); + argv = php_gtk_hash_as_array_offset(cbd->user_args,1,&argc); argv[0] = &zcur; call_user_function_ex( EG(function_table), NULL, - calldata->callback, + cbd->callback, &retval, argc, argv, diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides index c708cb6..ff72fd1 100644 --- a/ext/gtk+/gtk.overrides +++ b/ext/gtk+/gtk.overrides @@ -813,7 +813,9 @@ static gboolean phpg_accelgroup_find_func_marshal(GtkAccelKey *key, GClosure *cl zval *php_key = NULL, *retval = NULL; gboolean return_value; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -1139,7 +1141,9 @@ static void phpg_about_dialog_activate_link_func_marshal(GtkAboutDialog *about, gsize cp_len; zend_bool free_result; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/ext/gtk+/gtkclipboard.overrides b/ext/gtk+/gtkclipboard.overrides index a5a69bc..5e65dd2 100644 --- a/ext/gtk+/gtkclipboard.overrides +++ b/ext/gtk+/gtkclipboard.overrides @@ -25,7 +25,9 @@ static void phpg_clipboard_request_contents_marshal(GtkClipboard *clipboard, zval *php_clipboard = NULL; zval *php_sel_data = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -196,7 +198,9 @@ static void phpg_clipboard_request_text_marshal(GtkClipboard *clipboard, gsize cp_len; zend_bool free_cp_str; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/ext/gtk+/gtktextview.overrides b/ext/gtk+/gtktextview.overrides index fd95953..7c97709 100644 --- a/ext/gtk+/gtktextview.overrides +++ b/ext/gtk+/gtktextview.overrides @@ -398,7 +398,9 @@ static gboolean phpg_text_iter_char_predicate_func_marshal (gunichar ch, gpointe gchar *cp_ret; gsize cp_len; zend_bool toreturn, free_result = FALSE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -560,7 +562,9 @@ static void phpg_text_tag_table_foreach_func_marshal(GtkTextTagTable *table, gpo char *callback_name; zval *php_table = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/ext/gtk+/gtktreeview.overrides b/ext/gtk+/gtktreeview.overrides index 56474de..b469397 100644 --- a/ext/gtk+/gtktreeview.overrides +++ b/ext/gtk+/gtktreeview.overrides @@ -1386,7 +1386,9 @@ gboolean phpg_tree_model_foreach_marshal(GtkTreeModel *model, char *callback_name; zval *php_model = NULL, *php_path = NULL, *php_iter = NULL; gboolean ret; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -1893,7 +1895,9 @@ static void phpg_tree_selection_foreach_func_marshal (GtkTreeModel *model, GtkTr char *callback_name; zval *php_model = NULL, *php_path = NULL, *php_iter = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -1967,7 +1971,9 @@ static gboolean phpg_tree_selection_func_marshal(GtkTreeSelection *selection, char *callback_name; zval *php_selection = NULL, *php_model = NULL, *php_path = NULL, *php_path_currently_selected; gboolean allow_toggle = TRUE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2107,7 +2113,9 @@ static gint phpg_tree_iter_compare_func_marshal(GtkTreeModel *model, GtkTreeIter char *callback_name; zval *php_model = NULL, *php_iter_a = NULL, *php_iter_b = NULL; gint compared = 0; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2279,7 +2287,9 @@ static gboolean phpg_tree_view_column_drop_func_marshal (GtkTreeView *tree_view, char *callback_name; zval *php_view = NULL, *php_column = NULL, *php_prev_column = NULL, *php_next_column = NULL; gboolean may_drop = FALSE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2366,7 +2376,9 @@ static gboolean phpg_tree_view_row_separator_func_marshal(GtkTreeModel *model, G char *callback_name; zval *php_model = NULL, *php_iter = NULL; gboolean is_separator = FALSE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2448,7 +2460,9 @@ static void phpg_cell_data_func_marshal(GtkCellLayout *cell_layout, GtkCellRende int n_args = 0; char *callback_name; zval *php_cell_layout = NULL, *php_renderer = NULL, *php_model = NULL, *php_iter = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2759,7 +2773,9 @@ static gboolean phpg_tree_view_search_equal_func_marshal (GtkTreeModel *model, g gchar *cp_key; gsize cp_len; zend_bool free_result; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/main/php_gtk.h b/main/php_gtk.h index de37f1d..f45c87c 100644 --- a/main/php_gtk.h +++ b/main/php_gtk.h @@ -100,6 +100,9 @@ typedef struct { zval *user_args; char *src_filename; long src_lineno; +#ifdef ZTS + TSRMLS_D; +#endif } phpg_cb_data_t; #include "php_gtk_module.h" @@ -138,6 +141,9 @@ static inline phpg_cb_data_t* phpg_cb_data_new(zval *callback, zval *user_args T cbd->user_args = user_args; cbd->src_filename = estrdup(zend_get_executed_filename(TSRMLS_C)); cbd->src_lineno = zend_get_executed_lineno(TSRMLS_C); +#ifdef ZTS + cbd->TSRMLS_C = TSRMLS_C; +#endif return cbd; } PHP_GTK_API void phpg_cb_data_destroy(gpointer data);
diff --git a/ext/gtk+/gtk-2.10.overrides b/ext/gtk+/gtk-2.10.overrides index e9880d5..6a0c507 100644 --- a/ext/gtk+/gtk-2.10.overrides +++ b/ext/gtk+/gtk-2.10.overrides @@ -39,7 +39,9 @@ static void phpg_link_button_set_uri_hook_func_marshal(GtkLinkButton *button, co gsize cp_len; zend_bool free_result; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -324,17 +326,19 @@ phpg_recent_chooser_sort_func_marshal(GtkRecentInfo *a, GtkRecentInfo *b, gpoint int argc = 0, status = 0; zval ***argv = NULL, *retval = NULL; zval *zinfo_a = NULL, *zinfo_b = NULL; - phpg_cb_data_t *calldata = (phpg_cb_data_t *)data; - - TSRMLS_FETCH(); + phpg_cb_data_t *cbd = (phpg_cb_data_t *)data; + +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif - if (!zend_is_callable(calldata->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { + if (!zend_is_callable(cbd->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { php_error( E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback, - calldata->src_filename, - calldata->src_lineno + cbd->src_filename, + cbd->src_lineno ); efree(callback); @@ -344,14 +348,14 @@ phpg_recent_chooser_sort_func_marshal(GtkRecentInfo *a, GtkRecentInfo *b, gpoint phpg_gboxed_new(&zinfo_a,GTK_TYPE_RECENT_INFO,a,TRUE,TRUE TSRMLS_CC); phpg_gboxed_new(&zinfo_b,GTK_TYPE_RECENT_INFO,b,TRUE,TRUE TSRMLS_CC); - argv = php_gtk_hash_as_array_offset(calldata->user_args,2,&argc); + argv = php_gtk_hash_as_array_offset(cbd->user_args,2,&argc); argv[0] = &zinfo_a; argv[1] = &zinfo_b; call_user_function_ex( EG(function_table), NULL, - calldata->callback, + cbd->callback, &retval, argc, argv, @@ -586,17 +590,19 @@ phpg_assistant_forward_page_func_marshal(gint cur, gpointer data) int argc = 0, status = 0; zval ***argv = NULL, *retval = NULL; zval *zcur; - phpg_cb_data_t *calldata = (phpg_cb_data_t *)data; + phpg_cb_data_t *cbd = (phpg_cb_data_t *)data; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif - if (!zend_is_callable(calldata->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { + if (!zend_is_callable(cbd->callback, 0, &callback PHPGTK_ZEND_IS_CALLABLE)) { php_error( E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback, - calldata->src_filename, - calldata->src_lineno + cbd->src_filename, + cbd->src_lineno ); efree(callback); @@ -606,13 +612,13 @@ phpg_assistant_forward_page_func_marshal(gint cur, gpointer data) MAKE_STD_ZVAL(zcur); ZVAL_LONG(zcur,cur); - argv = php_gtk_hash_as_array_offset(calldata->user_args,1,&argc); + argv = php_gtk_hash_as_array_offset(cbd->user_args,1,&argc); argv[0] = &zcur; call_user_function_ex( EG(function_table), NULL, - calldata->callback, + cbd->callback, &retval, argc, argv, diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides index c708cb6..ff72fd1 100644 --- a/ext/gtk+/gtk.overrides +++ b/ext/gtk+/gtk.overrides @@ -813,7 +813,9 @@ static gboolean phpg_accelgroup_find_func_marshal(GtkAccelKey *key, GClosure *cl zval *php_key = NULL, *retval = NULL; gboolean return_value; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -1139,7 +1141,9 @@ static void phpg_about_dialog_activate_link_func_marshal(GtkAboutDialog *about, gsize cp_len; zend_bool free_result; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/ext/gtk+/gtkclipboard.overrides b/ext/gtk+/gtkclipboard.overrides index a5a69bc..5e65dd2 100644 --- a/ext/gtk+/gtkclipboard.overrides +++ b/ext/gtk+/gtkclipboard.overrides @@ -25,7 +25,9 @@ static void phpg_clipboard_request_contents_marshal(GtkClipboard *clipboard, zval *php_clipboard = NULL; zval *php_sel_data = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -196,7 +198,9 @@ static void phpg_clipboard_request_text_marshal(GtkClipboard *clipboard, gsize cp_len; zend_bool free_cp_str; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/ext/gtk+/gtktextview.overrides b/ext/gtk+/gtktextview.overrides index fd95953..7c97709 100644 --- a/ext/gtk+/gtktextview.overrides +++ b/ext/gtk+/gtktextview.overrides @@ -398,7 +398,9 @@ static gboolean phpg_text_iter_char_predicate_func_marshal (gunichar ch, gpointe gchar *cp_ret; gsize cp_len; zend_bool toreturn, free_result = FALSE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -560,7 +562,9 @@ static void phpg_text_tag_table_foreach_func_marshal(GtkTextTagTable *table, gpo char *callback_name; zval *php_table = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/ext/gtk+/gtktreeview.overrides b/ext/gtk+/gtktreeview.overrides index 56474de..b469397 100644 --- a/ext/gtk+/gtktreeview.overrides +++ b/ext/gtk+/gtktreeview.overrides @@ -1386,7 +1386,9 @@ gboolean phpg_tree_model_foreach_marshal(GtkTreeModel *model, char *callback_name; zval *php_model = NULL, *php_path = NULL, *php_iter = NULL; gboolean ret; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -1893,7 +1895,9 @@ static void phpg_tree_selection_foreach_func_marshal (GtkTreeModel *model, GtkTr char *callback_name; zval *php_model = NULL, *php_path = NULL, *php_iter = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -1967,7 +1971,9 @@ static gboolean phpg_tree_selection_func_marshal(GtkTreeSelection *selection, char *callback_name; zval *php_selection = NULL, *php_model = NULL, *php_path = NULL, *php_path_currently_selected; gboolean allow_toggle = TRUE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2107,7 +2113,9 @@ static gint phpg_tree_iter_compare_func_marshal(GtkTreeModel *model, GtkTreeIter char *callback_name; zval *php_model = NULL, *php_iter_a = NULL, *php_iter_b = NULL; gint compared = 0; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2279,7 +2287,9 @@ static gboolean phpg_tree_view_column_drop_func_marshal (GtkTreeView *tree_view, char *callback_name; zval *php_view = NULL, *php_column = NULL, *php_prev_column = NULL, *php_next_column = NULL; gboolean may_drop = FALSE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2366,7 +2376,9 @@ static gboolean phpg_tree_view_row_separator_func_marshal(GtkTreeModel *model, G char *callback_name; zval *php_model = NULL, *php_iter = NULL; gboolean is_separator = FALSE; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2448,7 +2460,9 @@ static void phpg_cell_data_func_marshal(GtkCellLayout *cell_layout, GtkCellRende int n_args = 0; char *callback_name; zval *php_cell_layout = NULL, *php_renderer = NULL, *php_model = NULL, *php_iter = NULL; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); @@ -2759,7 +2773,9 @@ static gboolean phpg_tree_view_search_equal_func_marshal (GtkTreeModel *model, g gchar *cp_key; gsize cp_len; zend_bool free_result; - TSRMLS_FETCH(); +#ifdef ZTS + TSRMLS_D = cbd->TSRMLS_C; +#endif if (!zend_is_callable(cbd->callback, 0, &callback_name PHPGTK_ZEND_IS_CALLABLE)) { php_error(E_WARNING, "Unable to invoke callback '%s' specified in %s on line %ld", callback_name, cbd->src_filename, cbd->src_lineno); diff --git a/main/php_gtk.h b/main/php_gtk.h index de37f1d..f45c87c 100644 --- a/main/php_gtk.h +++ b/main/php_gtk.h @@ -100,6 +100,9 @@ typedef struct { zval *user_args; char *src_filename; long src_lineno; +#ifdef ZTS + TSRMLS_D; +#endif } phpg_cb_data_t; #include "php_gtk_module.h" @@ -138,6 +141,9 @@ static inline phpg_cb_data_t* phpg_cb_data_new(zval *callback, zval *user_args T cbd->user_args = user_args; cbd->src_filename = estrdup(zend_get_executed_filename(TSRMLS_C)); cbd->src_lineno = zend_get_executed_lineno(TSRMLS_C); +#ifdef ZTS + cbd->TSRMLS_C = TSRMLS_C; +#endif return cbd; } PHP_GTK_API void phpg_cb_data_destroy(gpointer data);