Author: bdonlan
Date: 2004-05-29 20:24:16 -0400 (Sat, 29 May 2004)
New Revision: 189

Modified:
   trunk/haver-gtk/bin/haver-gtk.pl
   trunk/haver-gtk/lib/Haver/Client/Gtk/Page/Channel.pm
   trunk/haver-gtk/lib/Haver/Client/Gtk/Pages.pm
Log:
Fix /quit


Modified: trunk/haver-gtk/bin/haver-gtk.pl
===================================================================
--- trunk/haver-gtk/bin/haver-gtk.pl    2004-05-29 20:50:23 UTC (rev 188)
+++ trunk/haver-gtk/bin/haver-gtk.pl    2004-05-30 00:24:16 UTC (rev 189)
@@ -31,6 +31,7 @@
 our %globals;
 
 sub POE::Kernel::ASSERT_DEFAULT {1}
+#sub POE::Kernel::TRACE_DEFAULT {1}
 
 use Gtk;
 use Gtk::Keysyms;
@@ -357,6 +358,8 @@
        $gui{connect_win}{window}->destroy if $gui{connect_win};
        $heap->{exiting} = 1;
        $kernel->post("haver", "destroy");
+       undef $cmd;
+       undef $pages;
 }
 
        

Modified: trunk/haver-gtk/lib/Haver/Client/Gtk/Page/Channel.pm
===================================================================
--- trunk/haver-gtk/lib/Haver/Client/Gtk/Page/Channel.pm        2004-05-29 
20:50:23 UTC (rev 188)
+++ trunk/haver-gtk/lib/Haver/Client/Gtk/Page/Channel.pm        2004-05-30 
00:24:16 UTC (rev 189)
@@ -63,6 +63,7 @@
                        haver_msg                       _msg
                        haver_disconnected      _discon
                        _start                          _start
+                       destroy                         _destroy
                }}, # $page => {qw{
                ], # object_states =>
        )->ID;
@@ -230,4 +231,9 @@
        $self->{present} = 0;
 }
 
+sub _destroy {
+       my ($self, $kernel) = @_[OBJECT,KERNEL];
+       $kernel->post('haver', 'unregister', 'all');
+}
+
 1;

Modified: trunk/haver-gtk/lib/Haver/Client/Gtk/Pages.pm
===================================================================
--- trunk/haver-gtk/lib/Haver/Client/Gtk/Pages.pm       2004-05-29 20:50:23 UTC 
(rev 188)
+++ trunk/haver-gtk/lib/Haver/Client/Gtk/Pages.pm       2004-05-30 00:24:16 UTC 
(rev 189)
@@ -125,4 +125,11 @@
        }
 }
 
+sub DESTROY {
+       my $self = shift;
+       foreach my $page (@{$self->{pagenum}}) {
+               $page->removed() if $page && $page->can('removed');
+       }
+}
+
 1;


Reply via email to