--- deliantra/Deliantra-Client/DC/Protocol.pm 2006/07/03 22:58:37 1.54 +++ deliantra/Deliantra-Client/DC/Protocol.pm 2006/07/11 13:27:31 1.56 @@ -653,7 +653,10 @@ my ($self) = @_; $CFClient::UI::ROOT->on_refresh ("update_containers_$self" => sub { - for my $tag (keys %{ delete $self->{update_container} }) { + my $todo = delete $self->{update_container} + or return; + + for my $tag (keys %$todo) { if ($tag == 0) { update_floorbox; $::INVR->set_items ($self->{container}{0}) @@ -707,12 +710,6 @@ } else { $self->{update_container}{$item->{container}}++; $self->update_containers; -# if ($item->{container} == 0) { -# update_floorbox; -# update_container (0); -# } elsif ($item->{container} == $self->{player}{tag}) { -# $::INV->set_items ($self->{container}{$item->{container}}) -# } } } @@ -924,6 +921,7 @@ #Carp::cluck "debug\n";#d# #todo# enable: destroy gets called twice because scalar keys {} is 1 + $self->{conn}->send ("ext npc_dialog_end $self->{token}") if $self->{token}; delete $self->{conn}{npc_dialog}; $self->{conn}->disconnect_ext ($self->{token});