com gtk/php-gtk: Kill a few leaks.: ext/libglade/libglade.overrides

[email protected] (David Soria Parra) Wed, 02 Nov 2005 20:12:55 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    87c4c4116075d6b7b7089fc8325201a4128d7d19
Author:    Steph Fox <[email protected]>         Wed, 2 Nov 2005 20:12:55 +0000
Parents:   3c32b6d651ab080d17d8ee6d45b829223cda6026
Branches:  master

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

Log:
Kill a few leaks.

Changed paths:
  M  ext/libglade/libglade.overrides


Diff:
87c4c4116075d6b7b7089fc8325201a4128d7d19
diff --git a/ext/libglade/libglade.overrides b/ext/libglade/libglade.overrides
index a2c0178..2c4df0c 100644
--- a/ext/libglade/libglade.overrides
+++ b/ext/libglade/libglade.overrides
@@ -135,6 +135,7 @@ static void glade_signal_marshal(const gchar *handler_name, GObject *object,
     handler_id = g_signal_connect_closure(object, signal_name, closure, after);
 
     efree(callback_name);
+    efree(php_object);
 }
 
 PHP_METHOD(glade_xml_signal_connect)
@@ -156,6 +157,7 @@ PHP_METHOD(glade_xml_signal_connect)
                                   (GladeXMLConnectFunc)glade_signal_marshal, data);
 
     if (free_handlername) g_free(handlername);
+    phpg_cb_data_destroy(data);
 
     RETURN_NULL();
 }
@@ -190,7 +192,7 @@ static void glade_auto_signal_marshal(const gchar *handler_name, GObject *object
 
         efree(php_class);
     } else {
-        ZVAL_STRING(callback, (char *)handler_name, 1);
+        ZVAL_STRING(callback, (char *)handler_name, 0);
     }
 
     if (!zend_is_callable(callback, 0, NULL)) {
@@ -215,6 +217,8 @@ static void glade_auto_signal_marshal(const gchar *handler_name, GObject *object
     phpg_gobject_new(&php_object, (GObject*)object TSRMLS_CC);
     phpg_gobject_watch_closure(php_object, closure TSRMLS_CC);
     handler_id = g_signal_connect_closure(object, signal_name, closure, after);
+
+    efree(php_object);
 }
 
 PHP_METHOD(glade_xml_signal_autoconnect)