Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re^2: Perl Gtk2 - ->destroy() is Not Causing the Script to Exit

by Anonymous Monk
on May 02, 2014 at 21:37 UTC ( #1084848=note: print w/replies, xml ) Need Help??

in reply to Re: Perl Gtk2 - ->destroy() is Not Causing the Script to Exit
in thread Perl Gtk2 - ->destroy() is Not Causing the Script to Exit

Anyone else think that's strange...?

Nope, not really :)

why I am getting that

because of the way you write code :) write it like this ( cope with scoping , avoid closures, don't create objects you don't need, don't destroy objects while closureing over them, don't run mainloops for modal dialogs ... so you don't get order of destruction weirdness related messages )

#!/usr/bin/perl -- use strict; use warnings; use Gtk2 -init; use Glib qw/TRUE FALSE/; mme( @ARGV ) for 1 .. 2; sub mme { my $msg_dialog = Gtk2::MessageDialog->new_with_markup( undef, 'modal', 'error', 'yes-no', "Would you like to retry the connection?", ); $msg_dialog->set_title("No Connection Found"); $msg_dialog->set_destroy_with_parent(TRUE); $msg_dialog->signal_connect ( response => \&shimmy, ); printf "runned %s\n", $msg_dialog->run(); } sub shimmy { my ($self, $response) = @_; print "$self $response\n"; } __END__ Gtk2::MessageDialog=HASH(0xc6e674) yes runned yes Gtk2::MessageDialog=HASH(0xb33d24) no runned no

see sub DESTROY: Strange ordering of object destruction (global destruction order not guaranteed, Re^3: when is destroy function called ( perl -d:Trace dalek )

:) Re: Win32::GUI window freezing, even with threading. (, Thread::Queue::popnow/push) + Re^4: Win32::GUI window freezing, even with threading. (Wrong solution), Re: Tk: Creating label in hash, Re: perl Tk thread help, Re: error on file open, Re^4: Query the height of Tk::Text widget with word wrap

Gtk+/Gnome Application Development - The Main Loop

10.17. How do I run a dialog without running another main loop?

Tutorials: Variable Scoping in Perl: the basics,
Coping with Scoping , Mini-Tutorial: Perl's Memory Management,
Lexical scoping like a fox,
Read this if you want to cut your development time in half!,
Closure on Closures , perlref#Circular References,
Memory leaks and circular references,
Circular references and Garbage collection.,
make perl release memory,
about memory management , Re^3: Scope of lexical variables in the main script , Re: What's the weaken here for?,
Devel::Leak Devel::LeakTrace,

see Re: No such file or directory error/No such file or directory error, see template at (tye)Re: Stupid question (and see one discussion of that template at Re^2: RFC: Creating unicursal stars

tk closures people, Re: TK Submenus (Tk::Menu , global variables/ spirit of strict), tk scoping function argument passing, can't share Tk mainwondow between threads

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1084848]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (3)
As of 2023-06-07 09:11 GMT
Find Nodes?
    Voting Booth?
    How often do you go to conferences?

    Results (29 votes). Check out past polls.