ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/kgsueme/room.pl
(Generate patch)

Comparing kgsueme/kgsueme/room.pl (file contents):
Revision 1.17 by pcg, Thu May 20 22:59:55 2004 UTC vs.
Revision 1.18 by pcg, Fri May 21 15:32:02 2004 UTC

10sub new { 10sub new {
11 my ($self, %arg) = @_; 11 my ($self, %arg) = @_;
12 $self = $self->Glib::Object::new; 12 $self = $self->Glib::Object::new;
13 $self->{$_} = delete $arg{$_} for keys %arg; 13 $self->{$_} = delete $arg{$_} for keys %arg;
14 14
15 $self->signal_connect (destroy => sub { %{$_[0]} = () });
16 $self->signal_connect (delete_event => sub { $self->part; 1 }); 15 $self->signal_connect (delete_event => sub { $self->part; 1 });
16 $self->signal_connect (destroy => sub {
17 delete $::config->{rooms}{$self->{channel}};
18 delete $self->{app}{room}{$self->{channel}};
19 (remove Glib::Source delete $self->{gameupdate}) if $self->{gameupdate};
20 $self->unlisten;
21 %{$_[0]} = ();
22 });
17 23
18 $self->listen ($self->{conn}, qw(msg_room:)); 24 $self->listen ($self->{conn}, qw(msg_room:));
19 25
20 $self->set_title ("KGS Room $self->{name}"); 26 $self->set_title ("KGS Room $self->{name}");
21 gtk::state $self, "room::window", $self->{name}, window_size => [600, 400]; 27 gtk::state $self, "room::window", $self->{name}, window_size => [600, 400];
88} 94}
89 95
90sub event_part { 96sub event_part {
91 my ($self) = @_; 97 my ($self) = @_;
92 98
93 delete $::config->{rooms}{$self->{channel}};
94 delete $self->{app}{room}{$self->{channel}};
95 (remove Glib::Source delete $self->{gameupdate}) if $self->{gameupdate};
96 $self->unlisten;
97
98 $self->SUPER::event_part; 99 $self->SUPER::event_part;
99
100 $self->destroy; 100 $self->destroy;
101} 101}
102 102
103sub event_update_roominfo { 103sub event_update_roominfo {
104 my ($self) = @_; 104 my ($self) = @_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines