--- deliantra/Deliantra-Client/DC/UI.pm 2007/08/02 14:35:21 1.422 +++ deliantra/Deliantra-Client/DC/UI.pm 2007/08/06 05:06:33 1.423 @@ -3591,7 +3591,11 @@ if ($anim && @$anim) { delete $self->{wait_face}; $self->{face} = $anim->[ $self->{frame} % @$anim ]; - $self->{tex} = $::CONN->{texture}[ $::CONN->{faceid}[$self->{face}] ]; + if (my $tex = $self->{tex} = $::CONN->{texture}[ $::CONN->{faceid}[$self->{face}] ]) { + unless ($tex->{name} || $tex->{loading}) { + $tex->upload; + } + } } } } @@ -3601,9 +3605,12 @@ if ($::CONN) { if (my $faceid = $::CONN->{faceid}[$self->{face}]) { - if (my $tex = $::CONN->{texture}[$faceid]) { - $self->{tex} = $tex; - return ($self->{size_w} || $tex->{w}, $self->{size_h} || $tex->{h}); + if (my $tex = $self->{tex} = $::CONN->{texture}[$faceid]) { + if ($tex->{name}) { + return ($self->{size_w} || $tex->{w}, $self->{size_h} || $tex->{h}); + } elsif (!$tex->{loading}) { + $tex->upload; + } } else { $self->{wait_face} ||= $::CONN->connect_face_update ($faceid, sub { $self->realloc;