This commit is contained in:
twinaphex 2016-02-25 13:26:51 +01:00
parent bd0347f1ae
commit f6f306903c

View File

@ -381,25 +381,6 @@ static void menu_animation_push_internal(menu_animation_t *anim,
*target = *t;
}
static void menu_animation_free(void)
{
size_t i;
menu_animation_t *anim = menu_animation_get_ptr();
if (!anim)
return;
for (i = 0; i < anim->size; i++)
{
if (anim->list[i].subject)
anim->list[i].subject = NULL;
}
free(anim->list);
memset(anim, 0, sizeof(menu_animation_t));
}
void menu_animation_kill_by_subject(size_t count, const void *subjects)
{
unsigned i, j, killed = 0;
@ -413,8 +394,9 @@ void menu_animation_kill_by_subject(size_t count, const void *subjects)
for (j = 0; j < count; ++j)
{
if (anim->list[i].subject == sub[j])
{
if (anim->list[i].subject != sub[j])
continue;
anim->list[i].alive = false;
anim->list[i].subject = NULL;
@ -426,7 +408,6 @@ void menu_animation_kill_by_subject(size_t count, const void *subjects)
}
}
}
}
bool menu_animation_push(float duration, float target_value, float* subject,
enum menu_animation_easing_type easing_enum, int tag, tween_cb cb)
@ -617,7 +598,21 @@ bool menu_animation_ctl(enum menu_animation_ctl_state state, void *data)
switch (state)
{
case MENU_ANIMATION_CTL_DEINIT:
menu_animation_free();
{
size_t i;
if (!anim)
return false;
for (i = 0; i < anim->size; i++)
{
if (anim->list[i].subject)
anim->list[i].subject = NULL;
}
free(anim->list);
memset(anim, 0, sizeof(menu_animation_t));
}
break;
case MENU_ANIMATION_CTL_IS_ACTIVE:
return anim->is_active;