diff --git a/direct/src/plugin_activex/PPDownloadCallback.cpp b/direct/src/plugin_activex/PPDownloadCallback.cpp index 86c53172bb..8a2bcef6bc 100644 --- a/direct/src/plugin_activex/PPDownloadCallback.cpp +++ b/direct/src/plugin_activex/PPDownloadCallback.cpp @@ -18,7 +18,8 @@ PPDownloadCallback::PPDownloadCallback( PPDownloadCallbackSync& downloadSync ) - : m_downloadSync( downloadSync ), m_dwTotalRead( 0 ), m_ulObjRefCount( 1 ) + : m_downloadSync( downloadSync ), m_dwTotalRead( 0 ), + m_dwTotalInStream( 0 ), m_ulObjRefCount( 1 ) { } @@ -148,6 +149,7 @@ STDMETHODIMP PPDownloadCallback::OnProgress(ULONG ulProgress, ulStatusCode = UF_BINDSTATUS_LAST + 1; } + m_dwTotalInStream = ulProgressMax; m_downloadSync.ProgressNotify( ulProgress, ulProgressMax ); #ifdef _DEBUG @@ -209,7 +211,7 @@ STDMETHODIMP PPDownloadCallback::OnDataAvailable(DWORD grfBSCF, DWORD dwSize, pBytes[dwActuallyRead] = 0; if (dwActuallyRead>0) { - bool ret = m_downloadSync.DataNotify( dwSize, (const void*)pBytes, dwActuallyRead ); + bool ret = m_downloadSync.DataNotify( m_dwTotalInStream, (const void*)pBytes, dwActuallyRead ); if (!ret) { hr = E_ABORT; diff --git a/direct/src/plugin_activex/PPDownloadCallback.h b/direct/src/plugin_activex/PPDownloadCallback.h index 0a8fb347ba..4542f6f743 100644 --- a/direct/src/plugin_activex/PPDownloadCallback.h +++ b/direct/src/plugin_activex/PPDownloadCallback.h @@ -60,5 +60,6 @@ private: PPDownloadCallbackSync& m_downloadSync; DWORD m_dwTotalRead; + DWORD m_dwTotalInStream; };