| 1757 | } |
| 1758 | |
| 1759 | REFIT_ABSTRACT_MENU_ENTRY* SubMenuKextBlockInjection(const XString8& UniSysVer) |
| 1760 | { |
| 1761 | REFIT_MENU_ITEM_OPTIONS *Entry = NULL; |
| 1762 | REFIT_MENU_SCREEN *SubScreen = NULL; |
| 1763 | REFIT_INPUT_DIALOG *InputBootArgs; |
| 1764 | SIDELOAD_KEXT *Kext = NULL; |
| 1765 | XString8 sysVer = S8Printf("%s->", UniSysVer.c_str()); |
| 1766 | |
| 1767 | Kext = InjectKextList; |
| 1768 | while (Kext) { |
| 1769 | if ( Kext->KextDirNameUnderOEMPath == UniSysVer ) { |
| 1770 | if ( SubScreen == NULL ) { |
| 1771 | Entry = newREFIT_MENU_ITEM_OPTIONS(&SubScreen, ActionEnter, SCREEN_KEXT_INJECT, sysVer); |
| 1772 | SubScreen->AddMenuInfoLine_f("Choose/check kext to disable:"); |
| 1773 | } |
| 1774 | InputBootArgs = new REFIT_INPUT_DIALOG; |
| 1775 | InputBootArgs->Title.SWPrintf("%ls, v.%ls", Kext->FileName.wc_str(), Kext->Version.wc_str()); |
| 1776 | // InputBootArgs->Tag = TAG_INPUT; |
| 1777 | InputBootArgs->Row = 0xFFFF; //cursor |
| 1778 | InputBootArgs->Item = &(Kext->MenuItem); |
| 1779 | InputBootArgs->AtClick = ActionEnter; |
| 1780 | InputBootArgs->AtRightClick = ActionDetails; |
| 1781 | SubScreen->AddMenuEntry(InputBootArgs, true); |
| 1782 | |
| 1783 | SIDELOAD_KEXT *plugInKext = Kext->PlugInList; |
| 1784 | while (plugInKext) { |
| 1785 | InputBootArgs = new REFIT_INPUT_DIALOG; |
| 1786 | InputBootArgs->Title.SWPrintf(" |-- %ls, v.%ls", plugInKext->FileName.wc_str(), plugInKext->Version.wc_str()); |
| 1787 | // InputBootArgs->Tag = TAG_INPUT; |
| 1788 | InputBootArgs->Row = 0xFFFF; //cursor |
| 1789 | InputBootArgs->Item = &(plugInKext->MenuItem); |
| 1790 | InputBootArgs->AtClick = ActionEnter; |
| 1791 | InputBootArgs->AtRightClick = ActionDetails; |
| 1792 | SubScreen->AddMenuEntry(InputBootArgs, true); |
| 1793 | plugInKext = plugInKext->Next; |
| 1794 | } |
| 1795 | } |
| 1796 | Kext = Kext->Next; |
| 1797 | } |
| 1798 | |
| 1799 | if ( SubScreen != NULL ) SubScreen->AddMenuEntry(&MenuEntryReturn, false); |
| 1800 | return Entry; |
| 1801 | } |
| 1802 | |
| 1803 | LOADER_ENTRY* LOADER_ENTRY::SubMenuKextInjectMgmt() |
| 1804 | { |
no test coverage detected