Переглянути джерело

fix WaveCrop(): update wave->frameCount (#4003)

also allow `finalFrame = wave->frameCount' as the range of frames does
not include it.

Co-authored-by: Listeria monocytogenes <listeria@disroot.org>
pull/4011/head
listeria 11 місяці тому
committed by GitHub
джерело
коміт
b429dbdc4b
Не вдалося знайти GPG ключ що відповідає даному підпису Ідентифікатор GPG ключа: B5690EEEBB952194
1 змінених файлів з 2 додано та 1 видалено
  1. +2
    -1
      src/raudio.c

+ 2
- 1
src/raudio.c Переглянути файл

@ -1278,7 +1278,7 @@ Wave WaveCopy(Wave wave)
// NOTE: Security check in case of out-of-range // NOTE: Security check in case of out-of-range
void WaveCrop(Wave *wave, int initFrame, int finalFrame) void WaveCrop(Wave *wave, int initFrame, int finalFrame)
{ {
if ((initFrame >= 0) && (initFrame < finalFrame) && ((unsigned int)finalFrame < wave->frameCount)) if ((initFrame >= 0) && (initFrame < finalFrame) && ((unsigned int)finalFrame <= wave->frameCount))
{ {
int frameCount = finalFrame - initFrame; int frameCount = finalFrame - initFrame;
@ -1288,6 +1288,7 @@ void WaveCrop(Wave *wave, int initFrame, int finalFrame)
RL_FREE(wave->data); RL_FREE(wave->data);
wave->data = data; wave->data = data;
wave->frameCount = (unsigned int)frameCount;
} }
else TRACELOG(LOG_WARNING, "WAVE: Crop range out of bounds"); else TRACELOG(LOG_WARNING, "WAVE: Crop range out of bounds");
} }

||||||
x
 
000:0
Завантаження…
Відмінити
Зберегти