--- deliantra/Deliantra-Client/DC/Item.pm 2009/01/11 23:45:52 1.14 +++ deliantra/Deliantra-Client/DC/Item.pm 2009/01/11 23:50:27 1.15 @@ -176,11 +176,13 @@ my $face_tooltip = "$desc\n\n$tooltip_std"; if (my $face = $self->{face_widget}) { + # already exists, so update if it changed if ($face->{bg} != $bg) { $face->{bg} = $bg; $face->update; } + $face->set_bg ($bg) if $face->{bg} != $bg; $face->set_face ($self->{face}) if $face->{face} != $self->{face}; $face->set_anim ($self->{anim}) if $face->{anim} != $self->{anim}; $face->set_animspeed ($self->{animspeed}) if $face->{animspeed} != $self->{animspeed}; @@ -193,6 +195,7 @@ #); $face->set_tooltip ($face_tooltip); } else { + # new object, create new face $self->{face_widget} = new DC::UI::Face can_events => 1, can_hover => 1, @@ -226,10 +229,10 @@ }, ; - $self->{desc_widget}{bg} = $bg; - $self->{desc_widget}->set_text ($desc); - my $long_desc = $self->{long_desc} || $desc; + + $self->{desc_widget}->set_bg ($bg) if $self->{desc_widget}{bg} != $bg; + $self->{desc_widget}->set_text ($desc); $self->{desc_widget}->set_tooltip ("$long_desc\n\n$tooltip_std"); $self->{weight_widget} ||= new DC::UI::Label