com gtk/php-gtk: Fix segfault in idle_add().: ext/g tk+/gtk.overrides

[email protected] (David Soria Parra) Thu, 16 Mar 2006 05:37:40 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    56c12a8ce81989f5ec5b2f9b7c8723e8748465eb
Author:    Andrei Zmievski <[email protected]>         Thu, 16 Mar 2006 05:37:40 +0000
Parents:   3bd72c5d12f753eebd795cd1171b11fcf5a69f68
Branches:  master

Link:       http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=56c12a8ce81989f5ec5b2f9b7c8723e8748465eb

Log:
Fix segfault in idle_add().

Changed paths:
  M  ext/gtk+/gtk.overrides


Diff:
56c12a8ce81989f5ec5b2f9b7c8723e8748465eb
diff --git a/ext/gtk+/gtk.overrides b/ext/gtk+/gtk.overrides
index 4af7547..04ad57f 100644
--- a/ext/gtk+/gtk.overrides
+++ b/ext/gtk+/gtk.overrides
@@ -328,6 +328,10 @@ static void phpg_gtk_idle_add_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool with_
 
     callback_filename = zend_get_executed_filename(TSRMLS_C);
     callback_lineno = zend_get_executed_lineno(TSRMLS_C);
+    if (!extra) {
+        MAKE_STD_ZVAL(extra);
+        array_init(extra);
+    }
     php_gtk_build_value(&data, "(VNsi)", callback, extra, callback_filename, callback_lineno);
 
     handler_id = g_idle_add_full(priority, phpg_handler_marshal, data, phpg_destroy_notify);