svoid cleanDefunctACCsInAllSwingComponents() { // TODO (possibly): follow Window.getInputContext() -> InputMethod -> awtFocussedComponent for (Component c : allAWTComponents()) pcall { AccessControlContext acc = castGetOpt(c, 'inheritedAccessControlContext); if (acc == null) continue; L defunctIDs = acc_defunctProgramIDs(acc); if (nempty(defunctIDs)) { S desc = shortClassName(c); print("DEFUNCT ACC IN COMPONENT! Cleaning. " + defunctIDs + ": " + desc); set(c, inheritedAccessControlContext := acc_current()); } } }