Fixed bug that caused volume icons to be read only from default icons
authorsrs5694 <srs5694@users.sourceforge.net>
Wed, 20 Jan 2016 14:35:31 +0000 (09:35 -0500)
committersrs5694 <srs5694@users.sourceforge.net>
Wed, 20 Jan 2016 14:35:31 +0000 (09:35 -0500)
directory.

Makefile
NEWS.txt
debian/changelog
debian/refind.install
docs/refind/todo.html
refind/lib.c
refind/lib.h
refind/main.c

index d5e9359..3601028 100644 (file)
--- 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
index 62fc678..79f651e 100644 (file)
--- 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):
index be00974..285cebb 100644 (file)
@@ -1,3 +1,9 @@
+refind (0.10.1.1-0ppa1) wily; urgency=medium
+
+  * Test version
+
+ -- Roderick Smith <rodsmith@rodsbooks.com>  Thu, 17 Dec 2015 13:09:44 -0500
+
 refind (0.10.1-0ppa1) wily; urgency=medium
 
   * Version bump
index a0f718f..a036f04 100644 (file)
@@ -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
index a722738..614723f 100644 (file)
@@ -381,6 +381,10 @@ href="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</a></p>
        GUI toolkit, so that a single code base can be used on any of the
        major OSes.</li>
 
+    <li>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.</li>
+
     </ul></li> <!-- New features -->
 
 <li><b>Improvements to the EFI drivers:</b>
index 5bc1828..9c7d1f6 100644 (file)
@@ -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
 //
index 7f379b3..12f85ef 100644 (file)
@@ -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);
 
index 36cf202..881ac38 100644 (file)
@@ -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();