mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2025-03-09 12:49:57 +01:00
take into account signness of variables
Signed-off-by: Slice <sergey.slice@gmail.com>
This commit is contained in:
parent
95fac19588
commit
20e924f5a1
@ -1 +1 @@
|
||||
Subproject commit a38c3a3705021e3808d62d135e0a4089d74986b5
|
||||
Subproject commit c24f740b07c97efec0b772d914a9bdab448f3039
|
@ -57,12 +57,13 @@
|
||||
|
||||
//the function is not in the class and deals always with MainMenu
|
||||
//I made args as pointers to have an ability to call with NULL
|
||||
XBool AddLegacyEntry(IN const XStringW& FullTitle, IN const XStringW& _LoaderTitle, IN REFIT_VOLUME *Volume, IN const XIcon* Image, IN const XIcon* DriveImage, IN char32_t Hotkey, IN XBool CustomEntry)
|
||||
XBool AddLegacyEntry(IN const XStringW& FullTitle, IN const XStringW& _LoaderTitle, IN REFIT_VOLUME *Volume,
|
||||
IN const XIcon* Image, IN const XIcon* DriveImage, IN wchar_t Hotkey, IN XBool CustomEntry)
|
||||
{
|
||||
LEGACY_ENTRY *Entry, *SubEntry;
|
||||
REFIT_MENU_SCREEN *SubScreen;
|
||||
XStringW VolDesc;
|
||||
CHAR16 ShortcutLetter = 0;
|
||||
wchar_t ShortcutLetter = 0;
|
||||
// INTN i;
|
||||
|
||||
DBG(" AddLegacyEntry:\n");
|
||||
|
@ -909,7 +909,7 @@ STATIC LOADER_ENTRY *CreateLoaderEntry(IN CONST XStringW& LoaderPath,
|
||||
IN XIcon *DriveImage,
|
||||
IN UINT8 OSType,
|
||||
IN UINT8 Flags,
|
||||
IN char32_t Hotkey,
|
||||
IN wchar_t Hotkey,
|
||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL BootBgColor,
|
||||
IN UINT8 CustomBoot,
|
||||
IN const XImage& CustomLogo,
|
||||
@ -919,7 +919,7 @@ STATIC LOADER_ENTRY *CreateLoaderEntry(IN CONST XStringW& LoaderPath,
|
||||
EFI_DEVICE_PATH *LoaderDevicePath;
|
||||
XStringW LoaderDevicePathString;
|
||||
XStringW FilePathAsString;
|
||||
CHAR16 ShortcutLetter;
|
||||
wchar_t ShortcutLetter;
|
||||
LOADER_ENTRY *Entry;
|
||||
CONST CHAR8 *indent = " ";
|
||||
|
||||
@ -1085,7 +1085,7 @@ if ( Entry->APFSTargetUUID.Data1 == 0x99999999 ) {
|
||||
Entry->Flags = OSFLAG_SET(Entry->Flags, OSFLAG_HIBERNATED);
|
||||
DBG("%s =>set entry as hibernated\n", indent);
|
||||
}
|
||||
ShortcutLetter = 'M';
|
||||
ShortcutLetter = L'M';
|
||||
if ( Entry->DisplayedVolName.isEmpty() ) {
|
||||
// else no sense to override it with dubious name
|
||||
GetOSXVolumeName(Entry);
|
||||
@ -1093,12 +1093,12 @@ if ( Entry->APFSTargetUUID.Data1 == 0x99999999 ) {
|
||||
break;
|
||||
case OSTYPE_WIN:
|
||||
OSIconName = L"win"_XSW;
|
||||
ShortcutLetter = 'W';
|
||||
ShortcutLetter = L'W';
|
||||
break;
|
||||
case OSTYPE_WINEFI:
|
||||
OSIconName = L"vista,win"_XSW;
|
||||
//ShortcutLetter = 'V';
|
||||
ShortcutLetter = 'W';
|
||||
ShortcutLetter = L'W';
|
||||
break;
|
||||
case OSTYPE_LIN:
|
||||
case OSTYPE_LINEFI:
|
||||
@ -1109,12 +1109,12 @@ if ( Entry->APFSTargetUUID.Data1 == 0x99999999 ) {
|
||||
DBG("%slinux image not found\n", indent);
|
||||
OSIconName = LinuxIconNameFromPath(LoaderPath, Volume->RootDir); //something named "issue"
|
||||
}
|
||||
ShortcutLetter = 'L';
|
||||
ShortcutLetter = L'L';
|
||||
break;
|
||||
//case OSTYPE_OTHER:
|
||||
case OSTYPE_EFI:
|
||||
OSIconName = L"clover"_XSW;
|
||||
ShortcutLetter = 'E';
|
||||
ShortcutLetter = L'E';
|
||||
Entry->LoaderType = OSTYPE_OTHER;
|
||||
break;
|
||||
default:
|
||||
|
@ -81,7 +81,7 @@
|
||||
|
||||
STATIC XBool AddToolEntry(IN CONST XStringW& LoaderPath, IN CONST CHAR16 *FullTitle, IN CONST CHAR16 *LoaderTitle,
|
||||
IN REFIT_VOLUME *Volume, const XIcon& Image,
|
||||
IN char32_t ShortcutLetter, IN CONST XString8Array& Options)
|
||||
IN wchar_t ShortcutLetter, IN CONST XString8Array& Options)
|
||||
{
|
||||
REFIT_MENU_ENTRY_LOADER_TOOL *Entry;
|
||||
// Check the loader exists
|
||||
@ -128,7 +128,7 @@ STATIC void AddCloverEntry(IN CONST XStringW& LoaderPath, IN CONST CHAR16 *Loade
|
||||
Entry->Title.takeValueFrom(LoaderTitle);
|
||||
// Entry->Tag = TAG_CLOVER;
|
||||
Entry->Row = 1;
|
||||
Entry->ShortcutLetter = 'C';
|
||||
Entry->ShortcutLetter = L'C';
|
||||
Entry->Image = ThemeX->GetIcon(BUILTIN_ICON_FUNC_CLOVER);
|
||||
Entry->Volume = Volume;
|
||||
Entry->LoaderPath = LoaderPath;
|
||||
|
@ -433,12 +433,13 @@ void REFIT_MENU_SCREEN::FreeMenu()
|
||||
|
||||
INTN REFIT_MENU_SCREEN::FindMenuShortcutEntry(IN wchar_t Shortcut)
|
||||
{
|
||||
if (Shortcut >= 'a' && Shortcut <= 'z')
|
||||
Shortcut -= ('a' - 'A');
|
||||
if (Shortcut >= L'a' && Shortcut <= L'z')
|
||||
Shortcut -= (L'a' - L'A');
|
||||
if (Shortcut) {
|
||||
for (UINTN i = 0; i < Entries.size(); i++) {
|
||||
if (Entries[i].ShortcutDigit == Shortcut ||
|
||||
Entries[i].ShortcutLetter == Shortcut) {
|
||||
DBG("found entry %lld because shorcut=%x and ShortcutLetter=%x\n", i, Shortcut, Entries[i].ShortcutLetter);
|
||||
return i;
|
||||
}
|
||||
}
|
||||
@ -694,7 +695,7 @@ UINTN REFIT_MENU_SCREEN::RunGenericMenu(IN OUT INTN *DefaultEntryIndex, OUT REFI
|
||||
EFI_STATUS Status;
|
||||
EFI_INPUT_KEY key;
|
||||
// UINTN Index;
|
||||
CHAR16 ShortcutEntry;
|
||||
INTN ShortcutEntry;
|
||||
XBool HaveTimeout = false;
|
||||
INTN TimeoutCountdown = 0;
|
||||
UINTN MenuExit;
|
||||
@ -881,7 +882,7 @@ UINTN REFIT_MENU_SCREEN::RunGenericMenu(IN OUT INTN *DefaultEntryIndex, OUT REFI
|
||||
HidePointer(); //ycr.ru
|
||||
HaveTimeout = false;
|
||||
}
|
||||
|
||||
DBG("key: scancode=0x%x unicode=0x%x\n", key.ScanCode, key.UnicodeChar);
|
||||
mAction = ActionNone; //do action once
|
||||
// react to key press
|
||||
switch (key.ScanCode) {
|
||||
|
@ -423,7 +423,7 @@ public:
|
||||
void AddMenuCheck(CONST CHAR8 *Text, UINTN Bit, INTN ItemNum);
|
||||
void AddMenuItemInput(INTN Inx, CONST CHAR8 *Title, XBool Cursor);
|
||||
void FreeMenu();
|
||||
INTN FindMenuShortcutEntry(IN wchar_t Shortcut);
|
||||
INTN FindMenuShortcutEntry(IN CHAR16 Shortcut);
|
||||
UINTN RunGenericMenu(IN OUT INTN *DefaultEntryIndex, OUT REFIT_ABSTRACT_MENU_ENTRY **ChosenEntry);
|
||||
UINTN RunMenu(OUT REFIT_ABSTRACT_MENU_ENTRY **ChosenEntry);
|
||||
UINTN InputDialog();
|
||||
|
@ -107,8 +107,8 @@ class REFIT_ABSTRACT_MENU_ENTRY
|
||||
XStringW Title = XStringW();
|
||||
XBool Hidden = false;
|
||||
UINTN Row = 0;
|
||||
CHAR16 ShortcutDigit = 0;
|
||||
CHAR16 ShortcutLetter = 0;
|
||||
wchar_t ShortcutDigit = 0;
|
||||
wchar_t ShortcutLetter = 0;
|
||||
XIcon Image = 0;
|
||||
EG_RECT Place = EG_RECT();
|
||||
ACTION AtClick = ActionNone;
|
||||
@ -145,7 +145,7 @@ class REFIT_ABSTRACT_MENU_ENTRY
|
||||
REFIT_ABSTRACT_MENU_ENTRY() {};
|
||||
REFIT_ABSTRACT_MENU_ENTRY(const XStringW& Title_) : Title(Title_) {};
|
||||
REFIT_ABSTRACT_MENU_ENTRY(const XStringW& Title_, ACTION AtClick_) : Title(Title_), AtClick(AtClick_) {};
|
||||
REFIT_ABSTRACT_MENU_ENTRY(const XStringW& Title_, UINTN Row_, CHAR16 ShortcutDigit_, CHAR16 ShortcutLetter_, ACTION AtClick_) : Title(Title_), Row(Row_), ShortcutDigit(ShortcutDigit_), ShortcutLetter(ShortcutLetter_), AtClick(AtClick_) {};
|
||||
REFIT_ABSTRACT_MENU_ENTRY(const XStringW& Title_, UINTN Row_, wchar_t ShortcutDigit_, wchar_t ShortcutLetter_, ACTION AtClick_) : Title(Title_), Row(Row_), ShortcutDigit(ShortcutDigit_), ShortcutLetter(ShortcutLetter_), AtClick(AtClick_) {};
|
||||
|
||||
REFIT_ABSTRACT_MENU_ENTRY(const REFIT_ABSTRACT_MENU_ENTRY&) { panic("not yet defined"); }
|
||||
REFIT_ABSTRACT_MENU_ENTRY& operator=(const REFIT_ABSTRACT_MENU_ENTRY&) { panic("not yet defined"); }
|
||||
@ -177,7 +177,7 @@ class REFIT_ABSTRACT_MENU_ENTRY
|
||||
{
|
||||
public:
|
||||
REFIT_MENU_ITEM_RETURN() : REFIT_ABSTRACT_MENU_ENTRY() {};
|
||||
REFIT_MENU_ITEM_RETURN(const XStringW& Title_, UINTN Row_, CHAR16 ShortcutDigit_, CHAR16 ShortcutLetter_, ACTION AtClick_)
|
||||
REFIT_MENU_ITEM_RETURN(const XStringW& Title_, UINTN Row_, wchar_t ShortcutDigit_, wchar_t ShortcutLetter_, ACTION AtClick_)
|
||||
: REFIT_ABSTRACT_MENU_ENTRY(Title_, Row_, ShortcutDigit_, ShortcutLetter_, AtClick_)
|
||||
{};
|
||||
virtual REFIT_MENU_ITEM_RETURN* getREFIT_MENU_ITEM_RETURN() { return this; };
|
||||
@ -187,7 +187,7 @@ class REFIT_ABSTRACT_MENU_ENTRY
|
||||
{
|
||||
public:
|
||||
REFIT_MENU_ITEM_SHUTDOWN() : REFIT_ABSTRACT_MENU_ENTRY() {};
|
||||
REFIT_MENU_ITEM_SHUTDOWN(const XStringW& Title_, UINTN Row_, CHAR16 ShortcutDigit_, CHAR16 ShortcutLetter_, ACTION AtClick_)
|
||||
REFIT_MENU_ITEM_SHUTDOWN(const XStringW& Title_, UINTN Row_, wchar_t ShortcutDigit_, wchar_t ShortcutLetter_, ACTION AtClick_)
|
||||
: REFIT_ABSTRACT_MENU_ENTRY(Title_, Row_, ShortcutDigit_, ShortcutLetter_, AtClick_)
|
||||
{};
|
||||
virtual REFIT_MENU_ITEM_SHUTDOWN* getREFIT_MENU_ITEM_SHUTDOWN() { return this; };
|
||||
@ -196,7 +196,7 @@ class REFIT_ABSTRACT_MENU_ENTRY
|
||||
class REFIT_MENU_ITEM_RESET : public REFIT_ABSTRACT_MENU_ENTRY {
|
||||
public:
|
||||
REFIT_MENU_ITEM_RESET() : REFIT_ABSTRACT_MENU_ENTRY() {};
|
||||
REFIT_MENU_ITEM_RESET(const XStringW& Title_, UINTN Row_, CHAR16 ShortcutDigit_, CHAR16 ShortcutLetter_, ACTION AtClick_)
|
||||
REFIT_MENU_ITEM_RESET(const XStringW& Title_, UINTN Row_, wchar_t ShortcutDigit_, wchar_t ShortcutLetter_, ACTION AtClick_)
|
||||
: REFIT_ABSTRACT_MENU_ENTRY(Title_, Row_, ShortcutDigit_, ShortcutLetter_, AtClick_)
|
||||
{};
|
||||
virtual REFIT_MENU_ITEM_RESET* getREFIT_MENU_ITEM_RESET() { return this; };
|
||||
@ -206,7 +206,7 @@ class REFIT_ABSTRACT_MENU_ENTRY
|
||||
{
|
||||
public:
|
||||
REFIT_MENU_ITEM_ABOUT() : REFIT_ABSTRACT_MENU_ENTRY() {};
|
||||
REFIT_MENU_ITEM_ABOUT(const XStringW& Title_, UINTN Row_, CHAR16 ShortcutDigit_, CHAR16 ShortcutLetter_, ACTION AtClick_)
|
||||
REFIT_MENU_ITEM_ABOUT(const XStringW& Title_, UINTN Row_, wchar_t ShortcutDigit_, wchar_t ShortcutLetter_, ACTION AtClick_)
|
||||
: REFIT_ABSTRACT_MENU_ENTRY(Title_, Row_, ShortcutDigit_, ShortcutLetter_, AtClick_)
|
||||
{};
|
||||
virtual REFIT_MENU_ITEM_ABOUT* getREFIT_MENU_ITEM_ABOUT() { return this; };
|
||||
@ -215,7 +215,7 @@ class REFIT_ABSTRACT_MENU_ENTRY
|
||||
class REFIT_MENU_ITEM_OPTIONS : public REFIT_ABSTRACT_MENU_ENTRY {
|
||||
public:
|
||||
REFIT_MENU_ITEM_OPTIONS() : REFIT_ABSTRACT_MENU_ENTRY() {};
|
||||
REFIT_MENU_ITEM_OPTIONS(const XStringW& Title_, UINTN Row_, CHAR16 ShortcutDigit_, CHAR16 ShortcutLetter_, ACTION AtClick_)
|
||||
REFIT_MENU_ITEM_OPTIONS(const XStringW& Title_, UINTN Row_, wchar_t ShortcutDigit_, wchar_t ShortcutLetter_, ACTION AtClick_)
|
||||
: REFIT_ABSTRACT_MENU_ENTRY(Title_, Row_, ShortcutDigit_, ShortcutLetter_, AtClick_)
|
||||
{};
|
||||
virtual REFIT_MENU_ITEM_OPTIONS* getREFIT_MENU_ITEM_OPTIONS() { return this; };
|
||||
|
@ -146,9 +146,9 @@ EFI_STATUS XTheme::ParseSVGXTheme(UINT8* buffer, UINTN Size)
|
||||
EFI_STATUS Status;
|
||||
|
||||
Icons.setEmpty();
|
||||
|
||||
#ifdef JIEF_DEBUG
|
||||
displayFreeMemory("XTheme::ParseSVGXTheme begin"_XS8);
|
||||
|
||||
#endif
|
||||
#if defined(JIEF_DEBUG) && defined(NANOSVG_MEMORY_ALLOCATION_TRACE)
|
||||
if ( nsvg__nbDanglingPtr() > 0 ) {
|
||||
DBG("There is already dangling ptr. nano svg memory leak test not done\n");
|
||||
@ -307,9 +307,9 @@ if ( nsvg__nbDanglingPtr() > 0 ) {
|
||||
SVGParser->fontsDB = NULL; // To avoid nsvg__deleteParser to delete it;
|
||||
nsvg__deleteParser(SVGParser); // comment out this line and the next to keep the parser memory, in case of doubt that font are dependent.
|
||||
SVGParser = NULL;
|
||||
|
||||
#ifdef JIEF_DEBUG
|
||||
displayFreeMemory("XTheme::ParseSVGXTheme end"_XS8);
|
||||
|
||||
#endif
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -211,8 +211,9 @@ finish:
|
||||
ThemeX->PrepareFont();
|
||||
}
|
||||
//ThemeX->ClearScreen();
|
||||
|
||||
#ifdef JIEF_DEBUG
|
||||
displayFreeMemory("InitTheme end"_XS8);
|
||||
#endif
|
||||
return Status;
|
||||
}
|
||||
|
||||
|
@ -779,7 +779,9 @@ void LOADER_ENTRY::StartLoader()
|
||||
DbgHeader("StartLoader");
|
||||
|
||||
DBG("Starting %ls\n", FileDevicePathToXStringW(DevicePath).wc_str());
|
||||
#ifdef JIEF_DEBUG
|
||||
displayFreeMemory("LOADER_ENTRY::StartLoader()"_XS8);
|
||||
#endif
|
||||
// while ( OcCountFreePages(NULL) > 300000 && AllocatePages(100) ) /*DBG("Free memory : %lld\n", OcCountFreePages(NULL))*/;
|
||||
// displayFreeMemory();
|
||||
|
||||
@ -1728,8 +1730,9 @@ void LOADER_ENTRY::StartLoader()
|
||||
|
||||
AllocSmallBlocks(); // shrink memory map;
|
||||
PrintMemoryMap();
|
||||
#ifdef JIEF_DEBUG
|
||||
displayFreeMemory("Just before launching image"_XS8);
|
||||
|
||||
#endif
|
||||
Status = gBS->StartImage (ImageHandle, 0, NULL); // point to OcStartImage from OC
|
||||
|
||||
if ( EFI_ERROR(Status) ) {
|
||||
@ -2809,9 +2812,9 @@ RefitMainMain (IN EFI_HANDLE ImageHandle,
|
||||
MsgLog("Starting %s on %ls EFI\n", gRevisionStr, gST->FirmwareVendor);
|
||||
MsgLog("Build id: %s\n", gBuildId.c_str());
|
||||
if ( gBuildInfo ) DBG("Build with: [%s]\n", gBuildInfo);
|
||||
|
||||
#ifdef JIEF_DEBUG
|
||||
displayFreeMemory(""_XS8);
|
||||
|
||||
#endif
|
||||
|
||||
//dumping SETTING structure
|
||||
// if you change something in Platform.h, please uncomment and test that all offsets
|
||||
@ -2901,6 +2904,11 @@ RefitMainMain (IN EFI_HANDLE ImageHandle,
|
||||
#if 0
|
||||
//testing place
|
||||
{
|
||||
DBG(" size CHAR8=%ld\n", sizeof(CHAR8));
|
||||
DBG(" size CHAR16=%ld\n", sizeof(CHAR16));
|
||||
DBG(" size wchar_t=%ld\n", sizeof(wchar_t));
|
||||
DBG(" size char32_t=%ld\n", sizeof(char32_t));
|
||||
DBG(" size char16_t=%ld\n", sizeof(char16_t));
|
||||
const CHAR16 aaa[] = L"12345 ";
|
||||
const CHAR8 *bbb = "12345 ";
|
||||
DBG(" string %ls, size=%lld, len=%lld sizeof=%ld iStrLen=%lld\n", aaa, StrSize(aaa), StrLen(aaa), sizeof(aaa), iStrLen(bbb, 10));
|
||||
@ -2908,8 +2916,8 @@ RefitMainMain (IN EFI_HANDLE ImageHandle,
|
||||
DBG(" string %s, size=%lld, len=%lld sizeof=%ld iStrLen=%lld\n", ccc, AsciiStrSize(ccc), AsciiStrLen(ccc), sizeof(ccc), iStrLen(ccc, 10));
|
||||
XString8 ddd = "Выход "_XS8;
|
||||
// size_t sizex = ddd.allocatedSize();
|
||||
DBG(" xstring %s, asize=%ld, sizeinbyte=%ld sizeof=%ld lastcharat=%ld\n", ddd.c_str(), ddd.allocatedSize(), ddd.sizeInBytes(), sizeof(ddd),
|
||||
ddd.indexOf(ddd.lastChar()));
|
||||
DBG(" xstring %s, asize=%ld, sizeinbyte=%ld sizeof=%ld lastcharat=%ld\n", ddd.c_str(), ddd.allocatedSize(),
|
||||
ddd.sizeInBytes(), sizeof(ddd), ddd.indexOf(ddd.lastChar()));
|
||||
CHAR8 compatible[64];
|
||||
UINT32 FakeLAN = 0x0030168c;
|
||||
UINT32 FakeID = FakeLAN >> 16;
|
||||
@ -2926,12 +2934,16 @@ RefitMainMain (IN EFI_HANDLE ImageHandle,
|
||||
sizeof(void*), sizeof(int), sizeof(long int), sizeof(long long), sizeof(EFI_ALLOCATE_TYPE));
|
||||
/*
|
||||
Results
|
||||
41:381 0:000 string 12345 , size=16, len=7 sizeof=16 iStrLen=5
|
||||
41:381 0:000 string Выход , size=13, len=12 sizeof=8 iStrLen=10
|
||||
41:381 0:000 xstring Выход , asize=0, sizeinbyte=11 sizeof=16 lastcharat=5
|
||||
41:381 0:000 FakeLAN = 0x30168c
|
||||
41:381 0:000 Compatible=pci168c,30 strlen=10 sizeof=64 iStrLen=10
|
||||
|
||||
1:200 0:025 size CHAR8=1
|
||||
1:226 0:025 size CHAR16=2
|
||||
1:251 0:024 size wchar_t=2
|
||||
1:275 0:024 size char16_t=2
|
||||
1:381 0:000 string 12345 , size=16, len=7 sizeof=16 iStrLen=5
|
||||
1:381 0:000 string Выход , size=13, len=12 sizeof=8 iStrLen=10
|
||||
1:381 0:000 xstring Выход , asize=0, sizeinbyte=11 sizeof=16 lastcharat=5
|
||||
1:381 0:000 FakeLAN = 0x30168c
|
||||
1:381 0:000 Compatible=pci168c,30 strlen=10 sizeof=64 iStrLen=10
|
||||
1:430 0:025 void*=8 int=4 long=8 longlong=8 enum=4
|
||||
*/
|
||||
}
|
||||
#endif
|
||||
@ -3226,7 +3238,9 @@ DefaultIndex = MainMenu.Entries.length()-1; // this should be "Exit Clover"
|
||||
GlobalConfig.gThemeChanged = false;
|
||||
ThemeX->ClearScreen();
|
||||
}
|
||||
#ifdef JIEF_DEBUG
|
||||
displayFreeMemory("Before RunMainMenu"_XS8);
|
||||
#endif
|
||||
MenuExit = MainMenu.RunMainMenu(DefaultIndex, &ChosenEntry);
|
||||
}
|
||||
// DBG("exit from MainMenu %llu\n", MenuExit); //MENU_EXIT_ENTER=(1) MENU_EXIT_DETAILS=3
|
||||
@ -3383,7 +3397,7 @@ log_technical_bug("not done yet");
|
||||
#endif // ENABLE_SECURE_BOOT
|
||||
// DBG("come to Clover entry with letter %c\n", ChosenEntry->ShortcutLetter);
|
||||
REFIT_MENU_ENTRY_CLOVER* LoaderEntry = ChosenEntry->getREFIT_MENU_ENTRY_CLOVER();
|
||||
if ((ChosenEntry->ShortcutLetter == 'C') || LoaderEntry != NULL ) { // Clover options
|
||||
if ((ChosenEntry->ShortcutLetter == L'C') || LoaderEntry != NULL ) { // Clover options
|
||||
// DBG("enter Clover entry\n");
|
||||
|
||||
if (LoaderEntry->LoadOptions.notEmpty()) {
|
||||
|
Loading…
Reference in New Issue
Block a user