diff options
author | Jeremie Laval <jeremie.laval@gmail.com> | 2012-03-05 21:25:59 +0400 |
---|---|---|
committer | Jeremie Laval <jeremie.laval@gmail.com> | 2012-03-05 21:33:29 +0400 |
commit | b0b8b2b2e851eba97dcd3e11c60d5c0a378f65c6 (patch) | |
tree | ddd90c97ce6aa768c0d9a3ffdaec538a7856b4e9 /AppleDocWizard | |
parent | dc2de7cd0948d1b7e026dc26d4c23a32b570b03e (diff) |
[appledocwizard] cache sent event args
Diffstat (limited to 'AppleDocWizard')
-rw-r--r-- | AppleDocWizard/AppleDocHandler.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/AppleDocWizard/AppleDocHandler.cs b/AppleDocWizard/AppleDocHandler.cs index 0287e16..2ecb7aa 100644 --- a/AppleDocWizard/AppleDocHandler.cs +++ b/AppleDocWizard/AppleDocHandler.cs @@ -149,10 +149,11 @@ namespace macdoc var tempPath = Path.GetTempFileName (); var evt = new ManualResetEvent (false); + var evtArgs = new AppleDocEventArgs () { Stage = ProcessStage.Downloading }; WebClient client = new WebClient (); client.DownloadFileCompleted += (sender, e) => HandleAppleDocDownloadFinished (e, tempPath, evt, token); - client.DownloadProgressChanged += (sender, e) => FireAppleDocEvent (new AppleDocEventArgs () { Stage = ProcessStage.Downloading, Percentage = e.ProgressPercentage}); + client.DownloadProgressChanged += (sender, e) => { evtArgs.Percentage = e.ProgressPercentage; FireAppleDocEvent (evtArgs); }; FireAppleDocEvent (new AppleDocEventArgs () { Stage = ProcessStage.Downloading, Percentage = -1 }); client.DownloadFileAsync (new Uri (infos.DownloadUrl), tempPath); @@ -167,7 +168,8 @@ namespace macdoc return; } FireAppleDocEvent (new AppleDocEventArgs () { Stage = ProcessStage.Extracting, CurrentFile = null }); - XarApi.ExtractXar (path, searchPaths.First (), token, (filepath) => FireAppleDocEvent (new AppleDocEventArgs () { Stage = ProcessStage.Extracting, CurrentFile = filepath })); + var evtArgs = new AppleDocEventArgs () { Stage = ProcessStage.Extracting }; + XarApi.ExtractXar (path, searchPaths.First (), token, (filepath) => { evtArgs.CurrentFile = filepath; FireAppleDocEvent (evtArgs); }); } finally { evt.Set (); } |