aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);