From 7aff2dc1f28d711d11d63d79b2a4c49cda217189 Mon Sep 17 00:00:00 2001 From: iain holmes Date: Fri, 28 Sep 2018 12:02:24 +0100 Subject: [Telemetry] Fix null reference when opening solutions from finder Fixes VSTS #692948 --- .../MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs | 25 ++++++++-------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs index b527462a49..949190a7d7 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/IdeStartup.cs @@ -399,9 +399,7 @@ namespace MonoDevelop.Ide timeToCodeTimer.Stop (); timeToCodeTimer = null; - lock (ttcLock) { - ttcMetadata = null; - } + ttcMetadata = null; } /// @@ -448,7 +446,6 @@ namespace MonoDevelop.Ide return false; } - static readonly object ttcLock = new object (); async void CreateStartupMetadata (StartupInfo startupInfo, Dictionary timings) { var result = await Task.Run (() => DesktopService.PlatformTelemetry); @@ -459,10 +456,8 @@ namespace MonoDevelop.Ide var startupMetadata = GetStartupMetadata (startupInfo, result, timings); Counters.Startup.Inc (startupMetadata); - lock (ttcLock) { - if (ttcMetadata != null) { - ttcMetadata.AddProperties (startupMetadata); - } + if (ttcMetadata != null) { + ttcMetadata.AddProperties (startupMetadata); } IdeApp.OnStartupCompleted (); @@ -477,18 +472,16 @@ namespace MonoDevelop.Ide } timeToCodeTimer.Stop (); - timeToCodeTimer = null; - lock (ttcLock) { - ttcMetadata.SolutionLoadTime = timeToCodeTimer.ElapsedMilliseconds; + ttcMetadata.SolutionLoadTime = timeToCodeTimer.ElapsedMilliseconds; - ttcMetadata.CorrectedDuration = ttcMetadata.StartupTime + ttcMetadata.SolutionLoadTime; + ttcMetadata.CorrectedDuration = ttcMetadata.StartupTime + ttcMetadata.SolutionLoadTime; - if (IdeApp.ReportTimeToCode) { - Counters.TimeToCode.Inc ("SolutionLoaded", ttcMetadata); - IdeApp.ReportTimeToCode = false; - } + if (IdeApp.ReportTimeToCode) { + Counters.TimeToCode.Inc ("SolutionLoaded", ttcMetadata); + IdeApp.ReportTimeToCode = false; } + timeToCodeTimer = null; } static DateTime lastIdle; -- cgit v1.2.3