Skip to content

Commit 4d62c33

Browse files
Hosch250retailcoder
authored andcommitted
Get parser off UI thread. (#1684)
1 parent 9aa4d9b commit 4d62c33

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Rubberduck.Parsing/VBA/RubberduckParser.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,18 @@ private void ReparseRequested(object sender, ParseRequestEventArgs e)
6969
if (e.IsFullReparseRequest)
7070
{
7171
Cancel();
72-
ParseAll();
72+
Task.Run(() => ParseAll());
7373
}
7474
else
7575
{
7676
Cancel(e.Component);
77-
ParseAsync(e.Component, CancellationToken.None).Wait();
78-
79-
Logger.Trace("Starting resolver task");
80-
Task.Run(() => Resolve(_central.Token));
77+
Task.Run(() =>
78+
{
79+
ParseAsync(e.Component, CancellationToken.None).Wait();
80+
81+
Logger.Trace("Starting resolver task");
82+
Resolve(_central.Token);
83+
});
8184
}
8285
}
8386

@@ -171,7 +174,7 @@ private void ParseAll()
171174
Task.WaitAll(parseTasks);
172175

173176
Logger.Trace("Starting resolver task");
174-
Task.Run(() => Resolve(_central.Token));
177+
Resolve(_central.Token);
175178
}
176179

177180
private void AddBuiltInDeclarations(IReadOnlyList<VBProject> projects)

0 commit comments

Comments
 (0)