From: srs5694 Date: Wed, 20 Jan 2016 14:35:31 +0000 (-0500) Subject: Fixed bug that caused volume icons to be read only from default icons X-Git-Url: https://code.delx.au/refind/commitdiff_plain/480ba418c97ece5557ac0efc5dc189ff19fb8b8f?hp=476348736cede7d051f48c6724650ec7668fbe45 Fixed bug that caused volume icons to be read only from default icons directory. --- diff --git a/Makefile b/Makefile index d5e9359..3601028 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ MOK_DIR=mok GPTSYNC_DIR=gptsync EFILIB_DIR=EfiLib export EDK2BASE=/usr/local/UDK2014/MyWorkSpace -export REFIND_VERSION='L"0.10.1"' +export REFIND_VERSION='L"0.10.1.2"' # The "all" target builds with the TianoCore library if possible, but falls # back on the more easily-installed GNU-EFI library if TianoCore isn't diff --git a/NEWS.txt b/NEWS.txt index 62fc678..79f651e 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,6 +1,10 @@ -0.10.2 (?/??/201?): +0.10.2 (?/??/2016): ------------------- +- Fixed bug that caused custom volume badges (vol_????.png) to be read only + from default location ("icons" subdirectory), effectively eliminating the + ability to adjust them. + - Added centos.crt and centos.cer public key files. 0.10.1 (12/12/2015): diff --git a/debian/changelog b/debian/changelog index be00974..285cebb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +refind (0.10.1.1-0ppa1) wily; urgency=medium + + * Test version + + -- Roderick Smith Thu, 17 Dec 2015 13:09:44 -0500 + refind (0.10.1-0ppa1) wily; urgency=medium * Version bump diff --git a/debian/refind.install b/debian/refind.install index a0f718f..a036f04 100644 --- a/debian/refind.install +++ b/debian/refind.install @@ -4,7 +4,7 @@ drivers_* usr/share/refind/refind fonts usr/share/refind icons/*.png usr/share/refind/refind/icons icons/README usr/share/refind/refind/icons -keys etc/refind +keys etc/refind.d mkrlconf usr/sbin mvrefind usr/sbin refind-install usr/share/refind diff --git a/docs/refind/todo.html b/docs/refind/todo.html index a722738..614723f 100644 --- a/docs/refind/todo.html +++ b/docs/refind/todo.html @@ -381,6 +381,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com

GUI toolkit, so that a single code base can be used on any of the major OSes. +
  • The ability to produce audio output (at least a simple "beep") to signal + to visually impaired users when rEFInd is ready to accept input would be + helpful.
  • +
  • Improvements to the EFI drivers: diff --git a/refind/lib.c b/refind/lib.c index 5bc1828..9c7d1f6 100644 --- a/refind/lib.c +++ b/refind/lib.c @@ -998,9 +998,6 @@ VOID ScanVolume(REFIT_VOLUME *Volume) // open the root directory of the volume Volume->RootDir = LibOpenRoot(Volume->DeviceHandle); - // Set volume icon based on .VolumeBadge icon or disk kind - SetVolumeBadgeIcon(Volume); - Volume->VolName = GetVolumeName(Volume); if (Volume->RootDir == NULL) { @@ -1015,10 +1012,6 @@ VOID ScanVolume(REFIT_VOLUME *Volume) } } // if/else - // get custom volume icons if present - if (!Volume->VolIconImage) { - Volume->VolIconImage = egLoadIconAnyType(Volume->RootDir, L"", L".VolumeIcon", GlobalConfig.IconSizes[ICON_SIZE_BIG]); - } } // ScanVolume() static VOID ScanExtendedPartition(REFIT_VOLUME *WholeDiskVolume, MBR_PARTITION_INFO *MbrEntry) @@ -1212,6 +1205,23 @@ VOID ScanVolumes(VOID) } // for } /* VOID ScanVolumes() */ +VOID SetVolumeIcons(VOID) { + UINTN VolumeIndex; + REFIT_VOLUME *Volume; + + for (VolumeIndex = 0; VolumeIndex < VolumesCount; VolumeIndex++) { + Volume = Volumes[VolumeIndex]; + // Set volume icon based on .VolumeBadge icon or disk kind + SetVolumeBadgeIcon(Volume); + if (Volumes[VolumeIndex]->DiskKind == DISK_KIND_INTERNAL) { + // get custom volume icons if present + if (!Volume->VolIconImage) { + Volume->VolIconImage = egLoadIconAnyType(Volume->RootDir, L"", L".VolumeIcon", GlobalConfig.IconSizes[ICON_SIZE_BIG]); + } + } + } // for +} // VOID SetVolumeIcons() + // // file and dir functions // diff --git a/refind/lib.h b/refind/lib.h index 7f379b3..12f85ef 100644 --- a/refind/lib.h +++ b/refind/lib.h @@ -103,6 +103,7 @@ VOID FreeList(IN OUT VOID ***ListPtr, IN OUT UINTN *ElementCount); VOID SetVolumeBadgeIcon(REFIT_VOLUME *Volume); VOID ScanVolumes(VOID); +VOID SetVolumeIcons(VOID); BOOLEAN FileExists(IN EFI_FILE *BaseDir, IN CHAR16 *RelativePath); diff --git a/refind/main.c b/refind/main.c index 36cf202..881ac38 100644 --- a/refind/main.c +++ b/refind/main.c @@ -2216,6 +2216,7 @@ efi_main (EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) LoadDrivers(); ScanVolumes(); // Do before ReadConfig() because it needs SelfVolume->VolName ReadConfig(GlobalConfig.ConfigFilename); + SetVolumeIcons(); if (GlobalConfig.SpoofOSXVersion && GlobalConfig.SpoofOSXVersion[0] != L'\0') SetAppleOSInfo();