Re: [PHP-GTK-DEV] [PHP-BUG] Bug #54427 [NEW]: Segfault when emiting custom signal with object parameter

[email protected] (Bruno P. Gonçalves) Wed, 30 Mar 2011 13:12:10 -0400
Newsgroups php.gtk.dev
Message-ID <[email protected]>
Make sure if you are destroying the dialog to re-open =)

- - -
Bruno Pitteli Gonçalves
[email protected]
+55 018 97958674

- - -
ScornInPC - http://blog.scorninpc.com/
Browse Happy - http://browsehappy.com/


On Wed, Mar 30, 2011 at 1:01 PM, ptlis at ptlis dot net <
[email protected]> wrote:

> From:
> Operating system: Ubuntu 10.4
> PHP version:      5.3.6
> Package:          PHP-GTK related
> Bug Type:         Bug
> Bug description:Segfault when emiting custom signal with object parameter
>
> Description:
> ------------
> The first time the OK button on the dialog is clicked the custom signal is
> emitted correctly, on the second click php segfaults on the call to
> emit().
>
> If no object is provided to emit() the second signal emits without segfault
> as expected.
>
> Test script:
> ---------------
> <?php
>
> /**     Class implements custom signal 'product-ready'. */
>        class customDialog extends GtkDialog {
>            public $__gsignals  = array(
>                        'product-ready'  => array(
>                                        GObject::SIGNAL_RUN_LAST,
>                                        GObject::TYPE_BOOLEAN,
>                                        array(
>                                                GObject::TYPE_PHP_VALUE
>                                        )
>                                )
>                                );
>
>                public function __construct($title, GtkWindow $parent) {
>                        parent::__construct($title, $parent,
> Gtk::DIALOG_MODAL);
>
>                        $product        = new stdClass();
>
>                        $okButton       = new GtkButton('OK');
>                        $this->action_area->add($okButton);
>                        $okButton->connect_simple('clicked', array($this,
> 'ok_clicked'),
> $product);
>                }
>
>                public function ok_clicked(stdClass $product) {
>                        $this->emit('product-ready', $product);
>                }
>        }
>        GObject::register_type('customDialog');
>
>
>
>        $window = new GtkWindow();
>        $window->show_all();
>
>        $dialog = new customDialog('fire signal dialog', $window);
>        $dialog->show_all();
>
>        $dialog->connect('product-ready', 'product_ready');
>
>        function product_ready() {
>                echo 'segfaults on second signal' . "\n";
>                return true;
>        }
>
>        Gtk::main();
>
>
> --
> Edit bug report at http://bugs.php.net/bug.php?id=54427&edit=1
> --
> Try a snapshot (PHP 5.2):
> http://bugs.php.net/fix.php?id=54427&r=trysnapshot52
> Try a snapshot (PHP 5.3):
> http://bugs.php.net/fix.php?id=54427&r=trysnapshot53
> Try a snapshot (trunk):
> http://bugs.php.net/fix.php?id=54427&r=trysnapshottrunk
> Fixed in SVN:
> http://bugs.php.net/fix.php?id=54427&r=fixed
> Fixed in SVN and need be documented:
> http://bugs.php.net/fix.php?id=54427&r=needdocs
> Fixed in release:
> http://bugs.php.net/fix.php?id=54427&r=alreadyfixed
> Need backtrace:
> http://bugs.php.net/fix.php?id=54427&r=needtrace
> Need Reproduce Script:
> http://bugs.php.net/fix.php?id=54427&r=needscript
> Try newer version:
> http://bugs.php.net/fix.php?id=54427&r=oldversion
> Not developer issue:
> http://bugs.php.net/fix.php?id=54427&r=support
> Expected behavior:
> http://bugs.php.net/fix.php?id=54427&r=notwrong
> Not enough info:
> http://bugs.php.net/fix.php?id=54427&r=notenoughinfo
> Submitted twice:
> http://bugs.php.net/fix.php?id=54427&r=submittedtwice
> register_globals:
> http://bugs.php.net/fix.php?id=54427&r=globals
> PHP 4 support discontinued:
> http://bugs.php.net/fix.php?id=54427&r=php4
> Daylight Savings:
> http://bugs.php.net/fix.php?id=54427&r=dst
> IIS Stability:
> http://bugs.php.net/fix.php?id=54427&r=isapi
> Install GNU Sed:
> http://bugs.php.net/fix.php?id=54427&r=gnused
> Floating point limitations:
> http://bugs.php.net/fix.php?id=54427&r=float
> No Zend Extensions:
> http://bugs.php.net/fix.php?id=54427&r=nozend
> MySQL Configuration Error:
> http://bugs.php.net/fix.php?id=54427&r=mysqlcfg
>
>
> --
> PHP-GTK Development Mailing List (http://gtk.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>