@@ -135,13 +135,17 @@ private void RegisterResultsUpdatedEvent()
135
135
var plugin = ( IResultUpdated ) pair . Plugin ;
136
136
plugin . ResultsUpdated += ( s , e ) =>
137
137
{
138
- if ( e . Query . RawQuery == QueryText && ! e . Token . IsCancellationRequested )
138
+ if ( e . Query . RawQuery != QueryText || e . Token . IsCancellationRequested )
139
139
{
140
- PluginManager . UpdatePluginMetadata ( e . Results , pair . Metadata , e . Query ) ;
141
- if ( ! _resultsUpdateChannelWriter . TryWrite ( new ResultsForUpdate ( e . Results , pair . Metadata , e . Query , e . Token ) ) )
142
- {
143
- Log . Error ( "MainViewModel" , "Unable to add item to Result Update Queue" ) ;
144
- }
140
+ return ;
141
+ }
142
+
143
+ var token = e . Token == default ? _updateToken : e . Token ;
144
+
145
+ PluginManager . UpdatePluginMetadata ( e . Results , pair . Metadata , e . Query ) ;
146
+ if ( ! _resultsUpdateChannelWriter . TryWrite ( new ResultsForUpdate ( e . Results , pair . Metadata , e . Query , token ) ) )
147
+ {
148
+ Log . Error ( "MainViewModel" , "Unable to add item to Result Update Queue" ) ;
145
149
}
146
150
} ;
147
151
}
@@ -459,7 +463,7 @@ private void QueryHistory()
459
463
}
460
464
461
465
private readonly IReadOnlyList < Result > _emptyResult = new List < Result > ( ) ;
462
-
466
+
463
467
private async void QueryResults ( )
464
468
{
465
469
_updateSource ? . Cancel ( ) ;
@@ -553,7 +557,7 @@ async Task QueryTask(PluginPair plugin)
553
557
await Task . Yield ( ) ;
554
558
555
559
IReadOnlyList < Result > results = await PluginManager . QueryForPluginAsync ( plugin , query , currentCancellationToken ) ;
556
-
560
+
557
561
currentCancellationToken . ThrowIfCancellationRequested ( ) ;
558
562
559
563
results ??= _emptyResult ;
0 commit comments