@@ -1447,26 +1447,35 @@ public void UpdateResultView(ICollection<ResultsForUpdate> resultsForUpdates)
1447
1447
}
1448
1448
#endif
1449
1449
1450
- foreach ( var metaResults in resultsForUpdates )
1450
+ try
1451
1451
{
1452
- foreach ( var result in metaResults . Results )
1452
+ foreach ( var metaResults in resultsForUpdates )
1453
1453
{
1454
- if ( _topMostRecord . IsTopMost ( result ) )
1455
- {
1456
- result . Score = int . MaxValue ;
1457
- }
1458
- else
1454
+ foreach ( var result in metaResults . Results )
1459
1455
{
1460
- var priorityScore = metaResults . Metadata . Priority * 150 ;
1461
- result . Score += _userSelectedRecord . GetSelectedCount ( result ) + priorityScore ;
1456
+ if ( _topMostRecord . IsTopMost ( result ) )
1457
+ {
1458
+ result . Score = int . MaxValue ;
1459
+ }
1460
+ else
1461
+ {
1462
+ var priorityScore = metaResults . Metadata . Priority * 150 ;
1463
+ result . Score += _userSelectedRecord . GetSelectedCount ( result ) + priorityScore ;
1464
+ }
1462
1465
}
1463
1466
}
1464
- }
1465
1467
1466
- // it should be the same for all results
1467
- bool reSelect = resultsForUpdates . First ( ) . ReSelectFirstResult ;
1468
+ // it should be the same for all results
1469
+ bool reSelect = resultsForUpdates . First ( ) . ReSelectFirstResult ;
1468
1470
1469
- Results . AddResults ( resultsForUpdates , token , reSelect ) ;
1471
+ Results . AddResults ( resultsForUpdates , token , reSelect ) ;
1472
+ }
1473
+ catch ( InvalidOperationException e )
1474
+ {
1475
+ // Plugin with IResultUpdate interface can somtimes throw this exception
1476
+ // Collection was modified; enumeration operation may not execute
1477
+ Log . Exception ( $ "{ nameof ( MainViewModel ) } .{ nameof ( UpdateResultView ) } |UpdateResultView failed", e ) ;
1478
+ }
1470
1479
}
1471
1480
1472
1481
#endregion
0 commit comments