aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2011-09-12 06:04:40 -0700
committerChris Robinson <[email protected]>2011-09-12 06:04:40 -0700
commit80f2b787efbd226bec702aee7aa7c0f973a3d692 (patch)
tree53f1413a29d3441e529552d594d94b118e6f9050
parent404cfde33e0aba9b084a40407a6f3fffd8dd1612 (diff)
Pre-apply the deferred source offset only when it's playing or paused
-rw-r--r--OpenAL32/alState.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/OpenAL32/alState.c b/OpenAL32/alState.c
index 6e474430..3920adf0 100644
--- a/OpenAL32/alState.c
+++ b/OpenAL32/alState.c
@@ -642,7 +642,8 @@ AL_API ALvoid AL_APIENTRY alProcessUpdatesSOFT(void)
ALsource *Source = Context->SourceMap.array[pos].value;
ALenum new_state;
- if(Source->lOffset != -1)
+ if((Source->state == AL_PLAYING || Source->state == AL_PAUSED) &&
+ Source->lOffset != -1)
ApplyOffset(Source);
new_state = ExchangeInt(&Source->new_state, AL_NONE);