diff --git a/rEFIt_UEFI/Platform/Settings.cpp b/rEFIt_UEFI/Platform/Settings.cpp index 0760c7fbe..0d4af2eb1 100644 --- a/rEFIt_UEFI/Platform/Settings.cpp +++ b/rEFIt_UEFI/Platform/Settings.cpp @@ -4432,7 +4432,7 @@ finish: } for (i = 0; i < ThemesNum; i++) { - if (StriCmp(GlobalConfig.Theme, ThemesList[i]) == 0) { + if (GlobalConfig.Theme && StriCmp(GlobalConfig.Theme, ThemesList[i]) == 0) { OldChosenTheme = i; break; } diff --git a/rEFIt_UEFI/refit/IO.cpp b/rEFIt_UEFI/refit/IO.cpp index e8d2204b3..7d2dd7c4b 100644 --- a/rEFIt_UEFI/refit/IO.cpp +++ b/rEFIt_UEFI/refit/IO.cpp @@ -1080,12 +1080,15 @@ EFI_STATUS WaitForInputEventPoll(REFIT_MENU_SCREEN* ScreenPtr, UINTN TimeoutDefa CheckSyncSound(); } TimeoutRemain--; - if (Screen.mPointer->isAlive()) { - Screen.mPointer->UpdatePointer(); - Status = Screen.mPointer->CheckMouseEvent(&Screen); //out: gItemID, gAction - if (Status != EFI_TIMEOUT) { //this check should return timeout if no mouse events occured - break; - } + if ( Screen.mPointer ) { + if (Screen.mPointer->isAlive()) { + Screen.mPointer->UpdatePointer(); + Status = Screen.mPointer->CheckMouseEvent(&Screen); //out: gItemID, gAction + if (Status != EFI_TIMEOUT) { //this check should return timeout if no mouse events occured + break; + + } + } } } return Status;