if(dwRslt- WAIT_OBJECT_0 == 1)break;
else if(dwRslt- WAIT_OBJECT_0 == 0){
- CString synthesisString;
- SynthesisQueue synthesisQueueCopy;
+ CString synthesisString(TEXT(""));
+
self.synthesisQueueCS.Lock();
- synthesisQueueCopy = self.synthesisQueue;
- self.synthesisQueue.clear();
+
+ auto rbegin = self.synthesisQueue.rbegin();
+ auto rend = self.synthesisQueue.rend();
+ for(;rbegin != rend;(++rbegin)){
+ synthesisString += *rbegin;
+
+ if(rbegin != rend){
+ synthesisString += TEXT(" ");
+ }
+ }
+ self.synthesisQueue.clear();
self.synthesisQueueCS.Unlock();
- auto rbegin = synthesisQueueCopy.rbegin();
- auto rend = synthesisQueueCopy.rend();
+
- for(;rbegin != rend;++rbegin){
- self.Synthesis((const TChar_P)(const wchar_t*)*rbegin);
- }
+ self.Synthesis((const TChar_P)(const wchar_t*)synthesisString);
}