… | |
… | |
3549 | $widget->{animspeed} = List::Util::max 0.05, $widget->{animspeed}; |
3549 | $widget->{animspeed} = List::Util::max 0.05, $widget->{animspeed}; |
3550 | $widget->{anim_start} = $self->{animspeed} * int Event::time / $self->{animspeed}; |
3550 | $widget->{anim_start} = $self->{animspeed} * int Event::time / $self->{animspeed}; |
3551 | $self->{timer} = Event->timer ( |
3551 | $self->{timer} = Event->timer ( |
3552 | parked => 1, |
3552 | parked => 1, |
3553 | cb => sub { |
3553 | cb => sub { |
3554 | return unless $::CONN && $widget; |
3554 | return unless $::CONN; |
3555 | |
3555 | |
|
|
3556 | my $w = $widget |
|
|
3557 | or return; |
|
|
3558 | |
3556 | ++$widget->{frame}; |
3559 | ++$w->{frame}; |
3557 | $widget->update_face; |
3560 | $w->update_face; |
|
|
3561 | |
|
|
3562 | # somehow, $widget can go away |
3558 | $widget->update; |
3563 | $w->update; |
3559 | |
|
|
3560 | $widget->update_timer; |
3564 | $w->update_timer; |
3561 | }, |
3565 | }, |
3562 | ); |
3566 | ); |
3563 | |
3567 | |
3564 | $self->update_face; |
3568 | $self->update_face; |
3565 | $self->update_timer; |
3569 | $self->update_timer; |