--- Michael Hartmann <[EMAIL PROTECTED]> wrote:

> Hi,
> 
> I have a script where I need to run code after the user closed the GTK2 gui. 
> I 
> need to run blocking code.
> The program works similar to this very simple script:
> 
> 
> #!/usr/bin/perl -w
> 
> use strict;
> use Gtk2 "-init";
> 
> my $window = Gtk2::Window->new;
> $window->signal_connect("delete-event" => sub { Gtk2->main_quit; 0;});
> 
> my $button = Gtk2::Button->new("Close me");
> $button->signal_connect(clicked => sub { Gtk2->main_quit; } );
> 
> $window->add($button);
> $window->show_all;
> 
> Gtk2->main;
> 
> sleep 10; # blocking code
> 
> 
> When you close the gui using the button, it doesn't disappear immediatly. In 
> fact the sleep function seems to block the gui. This is quite ugly, because 
> the user clicks on the button and the gui "hangs".
> However, I don't understand why there is still the gui available.
> 
> Up to now I thougt Gtk2->main is a method that blocks and cares about the gui 
> (updating the gui, running subs connected to signals and such stuff).
> But (in my opinion) when you run Gtk2->main_quit, you leave the main loop and 
> the script carries on just like a normal non-gui script.
> 
> Why is the gui still available when perl runs sleep?
> And related to this question: How can I avoid this problem?
> 
> Thank you.
> 
> --Michael
> _______________________________________________
> gtk-perl-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gtk-perl-list
> 

Are you sure it's "delete-event" and not 'delete_event' in

$window->signal_connect("delete-event" => sub { Gtk2->main_quit; 0;});

?

For some reason Perl gtk2 developers decided to rename foo-bar in "C" into
'foo_bar' in Perl.

I always curse - since most of the info is in "C" gtk2 documentation, so I
have to remember not to forget to do the additional transaltion for the code
to work.

--Sergei.


Applications From Scratch: http://appsfromscratch.berlios.de/

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
_______________________________________________
gtk-perl-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-perl-list

Reply via email to