@@ -29,9 +29,14 @@ msgs = {
29
29
30
30
-- Shared Functions
31
31
32
- buildInstalledDlgList = ( scriptType, config) ->
33
- list, map = {} , {}
32
+ buildInstalledDlgList = ( scriptType, config, isUninstall) ->
33
+ list, map, protectedModules = {} , {} , {}
34
+ if isUninstall
35
+ protectedModules[ mdl. moduleName] = true for mdl in * DepCtrl . version. requiredModules
36
+ protectedModules[ DepCtrl . version. moduleName] = true
37
+
34
38
for namespace, script in pairs config. c[ scriptType]
39
+ continue if protectedModules[ namespace]
35
40
item = " %s v%s%s" \ format script. name, depRec\ getVersionString( script. version) ,
36
41
script. activeChannel and " [#{script.activeChannel}]" or " "
37
42
list[ # list+ 1 ] = item
@@ -145,8 +150,8 @@ uninstall = ->
145
150
config = getConfig!
146
151
147
152
-- build macro and module lists as well as reverse mappings
148
- moduleList, moduleMap = buildInstalledDlgList " modules" , config
149
- macroList, macroMap = buildInstalledDlgList " macros" , config
153
+ moduleList, moduleMap = buildInstalledDlgList " modules" , config, true
154
+ macroList, macroMap = buildInstalledDlgList " macros" , config, true
150
155
151
156
btn, res = aegisub. dialog. display getScriptListDlg macroList, moduleList
152
157
return unless btn
0 commit comments