Index: src/libchcore/TOverlappedDataBufferQueue.cpp
===================================================================
diff -u -N -r9312d2ac24e7963495b234adb8b9628076b16023 -refe016ef1d0cb0cf1ba379dbe3693e35f6a2361e
--- src/libchcore/TOverlappedDataBufferQueue.cpp	(.../TOverlappedDataBufferQueue.cpp)	(revision 9312d2ac24e7963495b234adb8b9628076b16023)
+++ src/libchcore/TOverlappedDataBufferQueue.cpp	(.../TOverlappedDataBufferQueue.cpp)	(revision efe016ef1d0cb0cf1ba379dbe3693e35f6a2361e)
@@ -30,7 +30,7 @@
 }
 
 TOverlappedDataBufferQueue::TOverlappedDataBufferQueue() :
-	m_eventReadPossible(true, true),
+	m_eventReadPossible(true, false),
 	m_eventWritePossible(true, false),
 	m_eventWriteFinished(true, false),
 	m_stBufferSize(0),
@@ -43,7 +43,7 @@
 }
 
 TOverlappedDataBufferQueue::TOverlappedDataBufferQueue(size_t stCount, size_t stBufferSize) :
-	m_eventReadPossible(true, true),
+	m_eventReadPossible(true, false),
 	m_eventWritePossible(true, false),
 	m_eventWriteFinished(true, false),
 	m_stBufferSize(0),
@@ -226,6 +226,7 @@
 			m_listEmptyBuffers.push_back(upElement.get());
 		}
 
+		UpdateReadPossibleEvent();
 		return;
 	}
 
@@ -238,6 +239,7 @@
 	}
 
 	m_stBufferSize = stCount;
+	UpdateReadPossibleEvent();
 }
 
 void TOverlappedDataBufferQueue::DataSourceChanged()