summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/my_gtk.pm10
1 files changed, 10 insertions, 0 deletions
diff --git a/perl-install/my_gtk.pm b/perl-install/my_gtk.pm
index 356b494ea..17466149a 100644
--- a/perl-install/my_gtk.pm
+++ b/perl-install/my_gtk.pm
@@ -125,6 +125,13 @@ sub show($) {
}
sub destroy($) {
my ($o) = @_;
+ return if $^S & 4;
+ #- program is going to leave
+ #- don't do anything, especially don't set the waiting mouse cursor
+ #- another thing is that calling flush() at this moment causes segfault
+ #- so don't do it and no more segfault :)
+ #- (now, if someone finds out what this 4 is about... but you cares, it works :)
+
$o->{rwindow} and $o->{rwindow}->destroy;
gtkset_mousecursor_wait();
flush();
@@ -143,6 +150,9 @@ sub exit {
c::_exit($_[1]) #- workaround
}
+#- in case "exit" above was not called by the program
+END { &exit() }
+
#-###############################################################################
#- createXXX functions