diff options
-rwxr-xr-x | test/Ivy::exit-bug.pl | 35 | ||||
-rwxr-xr-x | test/Ivy::exit.pl | 28 | ||||
-rw-r--r-- | test/Ivy::exit2-bug.pl | 36 |
3 files changed, 99 insertions, 0 deletions
diff --git a/test/Ivy::exit-bug.pl b/test/Ivy::exit-bug.pl new file mode 100755 index 0000000..0f7942d --- /dev/null +++ b/test/Ivy::exit-bug.pl @@ -0,0 +1,35 @@ +#!/usr/bin/perl -w + +#use lib '/home/mertz/CODE/lib/ivy-perl'; +#BEGIN { print "INC = @INC\n";} +use strict; + +use Tk; +use Ivy; +#print "INC = @INC\n"; +Ivy->init('-loopMode' => 'TK', '-appName' => 'toto'); +my $ivy = Ivy->new(); +$SIG{HUP} = $SIG{TERM} = $SIG{QUIT} = $SIG{INT} = $SIG{STOP} = $SIG{KILL} = 'quit3'; + +my $mw = MainWindow->new; +my $b = $mw->Button(-text => 'Un bouton', -command => \&quit)->pack(); +$ivy->start; +MainLoop; + +sub quit { + #$b->destroy; + #$mw->destroy; + Ivy::exit(); # fait un segmentation fault si Ctrl+C et qu'il est seul sur le bus! + #print "Apres Ivy::stop\n"; + #Tk::exit(); +} + +sub quit2 { # fait un segmentation fault si Ctrl+C et qu'il est seul sur le bus! + Ivy::stop (); + Tk::exit (); +} +sub quit3 { + Ivy::exit(); # fait un segmentation fault si Ctrl+C +} + +1; diff --git a/test/Ivy::exit.pl b/test/Ivy::exit.pl new file mode 100755 index 0000000..a9b31a0 --- /dev/null +++ b/test/Ivy::exit.pl @@ -0,0 +1,28 @@ +#!/usr/bin/perl -w + +#use lib '/home/mertz/CODE/lib/ivy-perl'; +#BEGIN { print "INC = @INC\n";} +use strict; + +use Tk; +use Ivy; +#print "INC = @INC\n"; +Ivy->init('-loopMode' => 'TK', '-appName' => 'toto'); +my $ivy = Ivy->new(); +$SIG{HUP} = $SIG{TERM} = $SIG{QUIT} = $SIG{INT} = $SIG{STOP} = $SIG{KILL} = 'quit'; + +my $mw = MainWindow->new; +my $b = $mw->Button(-text => 'Un bouton', -command => \&quit)->pack(); +$ivy->start; +Tk::MainLoop; + +sub quit { + #$b->destroy; + #$mw->destroy; + print "Avant Ivy::stop\n"; + Ivy::exit(); + #print "Apres Ivy::stop\n"; + #Tk::exit(); +} + +1; diff --git a/test/Ivy::exit2-bug.pl b/test/Ivy::exit2-bug.pl new file mode 100644 index 0000000..46466d1 --- /dev/null +++ b/test/Ivy::exit2-bug.pl @@ -0,0 +1,36 @@ +#!/usr/bin/perl -w + +#use lib '/home/mertz/CODE/lib/ivy-perl'; +#BEGIN { print "INC = @INC\n";} +use strict; + +use Tk; +use Ivy; +print "Ivy::exit2-bug.pl INC = @INC\n"; +Ivy->init('-loopMode' => 'TK', '-appName' => 'toto'); +my $ivy = Ivy->new(); +$SIG{HUP} = $SIG{TERM} = $SIG{QUIT} = $SIG{INT} = $SIG{STOP} = $SIG{KILL} = 'quit2'; + +my $mw = MainWindow->new; +my $b = $mw->Button(-text => 'Un bouton', -command => \&quit)->pack(); +$ivy->start; +MainLoop; + +sub quit { + #$b->destroy; + #$mw->destroy; + print "Avant Ivy::exit\n"; + $ivy->exit(); # fait un segmentation fault si Ctrl+C et qu'il est seul sur le bus! + print "Apres Ivy::exit\n"; +} + +sub quit2 { # fait un segmentation fault si Ctrl+C et qu'il est seul sur le bus! + exit (); +} + + +sub quit3 { + Ivy::exit(); # fait un segmentation fault si Ctrl+C +} + +1; |