@@ -115,7 +115,6 @@ struct EjectListView: View {
115115 . textInputAutocapitalization ( . never)
116116 . autocorrectionDisabled ( true )
117117 } else {
118- // Fallback on earlier versions
119118 ejectListView
120119 . onReceive ( searchViewModel. $searchKeyword) {
121120 ejectList. filter. searchKeyword = $0
@@ -332,7 +331,14 @@ struct EjectListView: View {
332331
333332 do {
334333 let plugInsToRemove = offsets. map { ejectList. filteredPlugIns [ $0] }
335- let plugInURLsToRemove = plugInsToRemove. map { $0. url }
334+
335+ let enabledURLsToRemove = plugInsToRemove
336+ . filter { $0. isEnabled }
337+ . map { $0. url }
338+
339+ let disabledURLsToRemove = plugInsToRemove
340+ . filter { !$0. isEnabled }
341+ . map { $0. url }
336342
337343 let injector = try InjectorV3 ( ejectList. app. url)
338344 logFileURL = injector. latestLogFileURL
@@ -349,7 +355,13 @@ struct EjectListView: View {
349355 injector. preferMainExecutable = preferMainExecutable
350356 injector. injectStrategy = injectStrategy
351357
352- try injector. eject ( plugInURLsToRemove, shouldDesist: true )
358+ if !enabledURLsToRemove. isEmpty {
359+ try injector. eject ( enabledURLsToRemove, shouldDesist: true )
360+ }
361+
362+ if !disabledURLsToRemove. isEmpty {
363+ injector. desist ( disabledURLsToRemove)
364+ }
353365
354366 ejectList. app. reload ( )
355367 ejectList. reload ( )
0 commit comments