]> Chaos Git - corbenik/ctrulib.git/commitdiff
It's always a missing 4 that makes it b0rk
authorfincs <fincs.alt1@gmail.com>
Fri, 2 Jan 2015 17:30:30 +0000 (18:30 +0100)
committerfincs <fincs.alt1@gmail.com>
Tue, 20 Jan 2015 16:54:34 +0000 (17:54 +0100)
libctru/source/services/csnd.c

index 40494fc875b13f2c58a573b86843f514e015c987..c8aacfdf488415ea8f096d934d5c387d7494a478 100644 (file)
@@ -187,10 +187,11 @@ Result csndExecChnCmds(bool waitDone)
        if (csndCmdStartOff == csndCmdCurOff)
                return 0;
 
-       vu8* flag = (vu8*)&csndSharedMem[csndCmdStartOff>>2];
+       vu8* flag = (vu8*)&csndSharedMem[(csndCmdStartOff + 4) >> 2];
 
        ret = CSND_ExecChnCmds(csndCmdStartOff);
        csndCmdStartOff = csndCmdCurOff;
+       if (ret != 0) return ret;
 
        // FIXME: This is a really ugly busy waiting loop!
        while (waitDone && *flag == 0);