]> code.delx.au - refind/blobdiff - refind/config.c
Fixed bug that prevented "icon" token in refind.conf manual boot
[refind] / refind / config.c
index 81f87dd648b3b9a852c719e29561c22142049510..8c18f41e45e79c6cd1f9b006d7531f7ff4ac9e76 100644 (file)
@@ -348,15 +348,16 @@ VOID ReadConfig(CHAR16 *FileName)
     if (StriCmp(FileName, CONFIG_FILE_NAME) == 0) {
        MyFreePool(GlobalConfig.AlsoScan);
        GlobalConfig.AlsoScan = StrDuplicate(ALSO_SCAN_DIRS);
-//        MyFreePool(GlobalConfig.DontScanVolumes);
-//        GlobalConfig.DontScanVolumes = StrDuplicate(L" ");
        MyFreePool(GlobalConfig.DontScanDirs);
-       if (SelfVolume->VolName) {
-          SelfPath = StrDuplicate(SelfVolume->VolName);
-       } else {
-          SelfPath = AllocateZeroPool(256 * sizeof(CHAR16));
-          SPrint(SelfPath, 255, L"fs%d", SelfVolume->VolNumber);
-       } // if/else
+       if (SelfVolume) {
+          if (SelfVolume->VolName) {
+             SelfPath = StrDuplicate(SelfVolume->VolName);
+          } else {
+             SelfPath = AllocateZeroPool(256 * sizeof(CHAR16));
+             if (SelfPath != NULL)
+                SPrint(SelfPath, 255, L"fs%d", SelfVolume->VolNumber);
+          } // if/else
+       }
        MergeStrings(&SelfPath, SelfDirPath, L':');
        GlobalConfig.DontScanDirs = SelfPath;
        MyFreePool(GlobalConfig.DontScanFiles);
@@ -397,6 +398,8 @@ VOID ReadConfig(CHAR16 *FileName)
                    GlobalConfig.HideUIFlags |= HIDEUI_FLAG_HINTS;
                 } else if (StriCmp(FlagName, L"editor") == 0) {
                    GlobalConfig.HideUIFlags |= HIDEUI_FLAG_EDITOR;
+                } else if (StriCmp(FlagName, L"safemode") == 0) {
+                   GlobalConfig.HideUIFlags |= HIDEUI_FLAG_SAFEMODE;
                 } else if (StriCmp(FlagName, L"all") == 0) {
                    GlobalConfig.HideUIFlags = HIDEUI_FLAG_ALL;
                 } else {