mirror of
https://github.com/Rockbox/rockbox.git
synced 2026-07-10 13:29:52 -04:00
skin: touchscreen: fix rewind in long files
Fix a possible overflow in the elapsed time calculation. Change-Id: I211777d8144f76889003239b9a49e4fc56184c8f
This commit is contained in:
parent
a7754eee71
commit
c052d11673
1 changed files with 4 additions and 17 deletions
|
|
@ -204,24 +204,11 @@ int skin_get_touchaction(struct gui_wps *gwps, int* edge_offset)
|
|||
if (!gwps->id3)
|
||||
break;
|
||||
|
||||
if (gevent.id == GESTURE_HOLD ||
|
||||
gevent.id == GESTURE_DRAGSTART ||
|
||||
gevent.id == GESTURE_DRAG)
|
||||
{
|
||||
audio_pre_ff_rewind();
|
||||
gwps->id3->elapsed = gwps->id3->length * (*edge_offset) / 1000;
|
||||
}
|
||||
else if (gevent.id == GESTURE_RELEASE)
|
||||
{
|
||||
audio_ff_rewind(gwps->id3->elapsed);
|
||||
}
|
||||
else
|
||||
{
|
||||
gwps->id3->elapsed = gwps->id3->length * (*edge_offset) / 1000;
|
||||
audio_pre_ff_rewind();
|
||||
audio_ff_rewind(gwps->id3->elapsed);
|
||||
}
|
||||
audio_pre_ff_rewind();
|
||||
gwps->id3->elapsed = gwps->id3->length / 1000 * (*edge_offset);
|
||||
|
||||
if (gevent.id == GESTURE_TAP || gevent.id == GESTURE_RELEASE)
|
||||
audio_ff_rewind(gwps->id3->elapsed);
|
||||
} break;
|
||||
|
||||
case ACTION_TOUCH_VOLUME:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue