Misha Koshelev : urlmon: Call IBindStatusCallback_OnStopBinding only if this actually is the last ReportData .

Alexandre Julliard julliard at wine.codeweavers.com
Fri Aug 3 08:04:54 CDT 2007


Module: wine
Branch: master
Commit: b2558480c28528333cbc136e4c9188e72e2727b3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b2558480c28528333cbc136e4c9188e72e2727b3

Author: Misha Koshelev <mk144210 at bcm.edu>
Date:   Thu Aug  2 20:45:17 2007 -0500

urlmon: Call IBindStatusCallback_OnStopBinding only if this actually is the last ReportData.

---

 dlls/urlmon/binding.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c
index e1fac1c..51105d3 100644
--- a/dlls/urlmon/binding.c
+++ b/dlls/urlmon/binding.c
@@ -944,6 +944,7 @@ static void report_data(Binding *This, DWORD bscf, ULONG progress, ULONG progres
     }
 
     if(This->stream->hres == S_FALSE || (bscf & BSCF_LASTDATANOTIFICATION)) {
+        This->download_state = END_DOWNLOAD;
         IBindStatusCallback_OnProgress(This->callback, progress, progress_max,
                 BINDSTATUS_ENDDOWNLOADDATA, This->url);
     }
@@ -956,8 +957,7 @@ static void report_data(Binding *This, DWORD bscf, ULONG progress, ULONG progres
     IBindStatusCallback_OnDataAvailable(This->callback, bscf, progress,
             &formatetc, &This->stgmed);
 
-    if(This->stream->hres == S_FALSE) {
-        This->download_state = END_DOWNLOAD;
+    if(This->download_state == END_DOWNLOAD) {
         IBindStatusCallback_OnStopBinding(This->callback, S_OK, NULL);
     }
 }




More information about the wine-cvs mailing list