Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/macdoc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremie Laval <jeremie.laval@gmail.com>2012-03-05 21:25:59 +0400
committerJeremie Laval <jeremie.laval@gmail.com>2012-03-05 21:33:29 +0400
commitb0b8b2b2e851eba97dcd3e11c60d5c0a378f65c6 (patch)
treeddd90c97ce6aa768c0d9a3ffdaec538a7856b4e9 /AppleDocWizard
parentdc2de7cd0948d1b7e026dc26d4c23a32b570b03e (diff)
[appledocwizard] cache sent event args
Diffstat (limited to 'AppleDocWizard')
-rw-r--r--AppleDocWizard/AppleDocHandler.cs6
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 ();
}