aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2008-09-18 22:23:20 +0000
committerGravatar Szymon Tomasz Stefanek2008-09-18 22:23:20 +0000
commit5385858ec91eb4cd42f86ced4da35bfacc83a379 (patch)
tree4631a5bdb7ca5df09a82993c7737278d3ae3375e /src
parentCorrectly encode my surname (was broken by #2483) (diff)
downloadKVIrc-5385858ec91eb4cd42f86ced4da35bfacc83a379.tar.gz
KVIrc-5385858ec91eb4cd42f86ced4da35bfacc83a379.tar.bz2
KVIrc-5385858ec91eb4cd42f86ced4da35bfacc83a379.zip
Fix continue behaviour in for and foreach
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2490 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvirc/kvs/kvi_kvs_treenode_specialcommandfor.cpp12
-rw-r--r--src/kvirc/kvs/kvi_kvs_treenode_specialcommandforeach.cpp2
-rw-r--r--src/modules/snd/libkvisnd.cpp20
3 files changed, 24 insertions, 10 deletions
diff --git a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandfor.cpp b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandfor.cpp
index 81901344b..eb463ad15 100644
--- a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandfor.cpp
+++ b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandfor.cpp
@@ -106,12 +106,9 @@ bool KviKvsTreeNodeSpecialCommandFor::execute(KviKvsRunTimeContext * c)
}
if(c->continuePending())
- {
c->handleContinue();
- continue;
- }
-
- return false; // propagate false ret value
+ else
+ return false; // propagate false ret value
}
}
@@ -129,11 +126,8 @@ bool KviKvsTreeNodeSpecialCommandFor::execute(KviKvsRunTimeContext * c)
}
if(c->continuePending())
- {
c->handleContinue();
- continue;
- }
-
+
return false; // propagate false ret value
}
}
diff --git a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandforeach.cpp b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandforeach.cpp
index e23169167..43aa2bcb9 100644
--- a/src/kvirc/kvs/kvi_kvs_treenode_specialcommandforeach.cpp
+++ b/src/kvirc/kvs/kvi_kvs_treenode_specialcommandforeach.cpp
@@ -121,6 +121,7 @@ bool KviKvsTreeNodeSpecialCommandForeach::execute(KviKvsRunTimeContext * c)
if(c->continuePending())
{
c->handleContinue();
+ idx++;
continue;
}
@@ -158,6 +159,7 @@ bool KviKvsTreeNodeSpecialCommandForeach::execute(KviKvsRunTimeContext * c)
if(c->continuePending())
{
c->handleContinue();
+ ++it;
continue;
}
diff --git a/src/modules/snd/libkvisnd.cpp b/src/modules/snd/libkvisnd.cpp
index 0bd6d8e13..ee535f8c2 100644
--- a/src/modules/snd/libkvisnd.cpp
+++ b/src/modules/snd/libkvisnd.cpp
@@ -391,8 +391,26 @@ void KviSoundThread::run()
float frameSize;
void * buffer;
- file = afOpenFile(m_szFileName.toUtf8().data(),"r",NULL);
+ file = afOpenFile(m_szFileName.utf8().data(),"r",NULL);
+ if(!file)
+ {
+ debug("libaudiofile could not open the file %s",m_szFileName.utf8().data());
+ debug("giving up playing sound...");
+ return; // screwed up
+ }
+
+ sampleFormat = -1;
+
afGetVirtualSampleFormat(file, AF_DEFAULT_TRACK, &sampleFormat, &sampleWidth);
+
+ if(sampleFormat == -1)
+ {
+ debug("libaudiofile couldn't find the sample format for file %s",m_szFileName.utf8().data());
+ debug("giving up playing sound...");
+ afCloseFile(file);
+ return; // screwed up
+ }
+
frameSize = afGetVirtualFrameSize(file, AF_DEFAULT_TRACK, 1);
channelCount = afGetVirtualChannels(file, AF_DEFAULT_TRACK);
buffer = kvi_malloc(int(BUFFER_FRAMES * frameSize));