summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlisteria <[email protected]>2024-05-24 13:24:40 -0300
committerGitHub <[email protected]>2024-05-24 18:24:40 +0200
commitb429dbdc4b41d57ff00456c73646bb1f6f14d8b5 (patch)
tree0c6a5a4377eb0c9d03ecf5769638e3eca828a393
parentd9c5066382615644137b4f65479c65c44820027a (diff)
downloadraylib-b429dbdc4b41d57ff00456c73646bb1f6f14d8b5.tar.gz
raylib-b429dbdc4b41d57ff00456c73646bb1f6f14d8b5.zip
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 <[email protected]>
-rw-r--r--src/raudio.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/raudio.c b/src/raudio.c
index e74f8590..c6bd0016 100644
--- a/src/raudio.c
+++ b/src/raudio.c
@@ -1278,7 +1278,7 @@ Wave WaveCopy(Wave wave)
// NOTE: Security check in case of out-of-range
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;
@@ -1288,6 +1288,7 @@ void WaveCrop(Wave *wave, int initFrame, int finalFrame)
RL_FREE(wave->data);
wave->data = data;
+ wave->frameCount = (unsigned int)frameCount;
}
else TRACELOG(LOG_WARNING, "WAVE: Crop range out of bounds");
}