ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/Protocol.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/Protocol.pm (file contents):
Revision 1.124 by root, Fri Jul 20 16:32:04 2007 UTC vs.
Revision 1.126 by root, Sun Jul 22 19:34:58 2007 UTC

209 my ($arg) = @_; 209 my ($arg) = @_;
210 210
211 my $w = $self->{widget}{$arg->{id}} 211 my $w = $self->{widget}{$arg->{id}}
212 or return; 212 or return;
213 213
214 $w->{$arg->{name}} = $arg->{value}; 214 my $attr = $arg->{attr};
215
216 for (my $i = 0; $i < $#$attr; $i += 2) {
217 $w->{$attr->[$i]} = $attr->[$i+1];
218 $w->{parent}->realloc if $attr->[$i] =~ /^c_/ && $w->{visible};#d# really?
219 }
215 }); 220 });
216 221
217 # widget get 222 # widget get
218 $self->connect_ext (w_g => sub { 223 $self->connect_ext (w_g => sub {
219 my ($arg) = @_; 224 my ($arg) = @_;
220 225
221 my $w = $self->{widget}{$arg->{id}} 226 my $w = $self->{widget}{$arg->{id}}
222 or return; 227 or return;
223 228
224 $self->send_exti_msg (w_r => rid => $arg->{rid}, res => [$w->{$arg->{name}}]); 229 $self->send_exti_msg (w_r => rid => $arg->{rid}, res => [map $w->{$_}, @{$arg->{attr}}]);
225 }); 230 });
226 231
227 # destroy widgets on logout 232 # destroy widgets on logout
228 $self->{on_stop_game_guard} = $self->{map_widget}{root}->connect (stop_game => sub { 233 $self->{on_stop_game_guard} = $self->{map_widget}{root}->connect (stop_game => sub {
229 for my $ws (values %{delete $self->{widgetset} || {}}) { 234 for my $ws (values %{delete $self->{widgetset} || {}}) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines