http://bugs.winehq.org/show_bug.cgi?id=32130
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #2 from Jacek Caban jacek@codeweavers.com 2012-11-13 03:08:35 CST --- (In reply to comment #1)
Created attachment 42484 [details] patch using IBindStatusCallback to cancel
I tried writing a patch to allow an abort during the download, but I'm running into the problem that there is no way to immediately abort the UrlDownloadToFile call. (We can abort it the next time there's progress, but that won't work if the download stalls and the user clicks Cancel.)
The right way is using IBinding::Abort using IBinding that is called to OnStartBinding.
I think that the way this works now, we have to abort the download/install thread cooperatively or add some complicated synchronization. Otherwise, there's a race between disabling the Cancel button after the download finishes and getting the notification of the user clicking Cancel on the main thread.
No, that's not acceptable. BTW, this code is from times when we didn't have proper async binding (and aborting FWIW) support in urlmon. The plan is to get rid of separated binding thread now that we have everything we need.