Skip to content

Commit 300d64d

Browse files
committed
Remove action keyword first
1 parent 37ad5aa commit 300d64d

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

Flow.Launcher.Core/Plugin/PluginManager.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -412,13 +412,15 @@ public static void ReplaceActionKeyword(string id, IReadOnlyList<string> oldActi
412412
{
413413
if (CheckActionKeywordChanged(oldActionKeywords, newActionKeywords))
414414
{
415-
foreach (var actionKeyword in newActionKeywords)
415+
// Fix collection modified while iterating exception
416+
var oldActionKeywordsClone = oldActionKeywords.ToList();
417+
foreach (var actionKeyword in oldActionKeywordsClone)
416418
{
417-
AddActionKeyword(id, actionKeyword);
419+
RemoveActionKeyword(id, actionKeyword);
418420
}
419-
foreach (var actionKeyword in oldActionKeywords)
421+
foreach (var actionKeyword in newActionKeywords)
420422
{
421-
RemoveActionKeyword(id, actionKeyword);
423+
AddActionKeyword(id, actionKeyword);
422424
}
423425

424426
// Update action keyword in plugin metadata
@@ -445,8 +447,8 @@ public static void ReplaceActionKeyword(string id, string oldActionKeyword, stri
445447
{
446448
if (oldActionKeyword != newActionKeyword)
447449
{
448-
AddActionKeyword(id, newActionKeyword);
449450
RemoveActionKeyword(id, oldActionKeyword);
451+
AddActionKeyword(id, newActionKeyword);
450452

451453
// Update action keyword in plugin metadata
452454
var plugin = GetPluginForId(id);

0 commit comments

Comments
 (0)