mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-24 16:27:42 +01:00
fix delete fonts
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
This commit is contained in:
parent
697cc5e4b9
commit
07f5c88a8f
@ -1,13 +1,13 @@
|
||||
/*
|
||||
* a class to keep definitions for all theme settings
|
||||
*/
|
||||
#include "XTheme.h"
|
||||
|
||||
Icon::Icon() {}
|
||||
Icon::~Icon() {}
|
||||
|
||||
XTheme::XTheme()
|
||||
{
|
||||
/*
|
||||
* a class to keep definitions for all theme settings
|
||||
*/
|
||||
#include "XTheme.h"
|
||||
|
||||
Icon::Icon() {}
|
||||
Icon::~Icon() {}
|
||||
|
||||
XTheme::XTheme()
|
||||
{
|
||||
DisableFlags = 0;
|
||||
HideBadges = 0;
|
||||
HideUIFlags = 0;
|
||||
@ -53,49 +53,49 @@ XTheme::XTheme()
|
||||
Codepage = 0xC0; //this is for PNG theme
|
||||
CodepageSize = 0xC0; // INTN CodepageSize; //extended latin
|
||||
Scale = 1.0f;
|
||||
CentreShift = 0.0f;
|
||||
}
|
||||
|
||||
|
||||
XImage& XTheme::GetIcon(XStringW& Name, BOOLEAN Night)
|
||||
{
|
||||
XImage* TheIcon = NULL;
|
||||
for (size_t i = 0; i < Icons.size(); i++)
|
||||
{
|
||||
if (Icons[i].Name == Name)
|
||||
{
|
||||
if (Night) {
|
||||
TheIcon = &Icons[i].ImageNight;
|
||||
}
|
||||
if (TheIcon == NULL || (*TheIcon).isEmpty()) { //if daylight or night icon absent
|
||||
TheIcon = &Icons[i].Image;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return *TheIcon;
|
||||
}
|
||||
|
||||
XImage& XTheme::GetIcon(INTN Id, BOOLEAN Night)
|
||||
{
|
||||
XImage* TheIcon = NULL;
|
||||
for (size_t i = 0; i < Icons.size(); i++)
|
||||
{
|
||||
if (Icons[i].Id == Id)
|
||||
{
|
||||
if (Night) {
|
||||
TheIcon = &Icons[i].ImageNight;
|
||||
}
|
||||
if (TheIcon == NULL || (*TheIcon).isEmpty()) { //if daylight or night icon absent
|
||||
TheIcon = &Icons[i].Image;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return *TheIcon;
|
||||
}
|
||||
|
||||
void XTheme::AddIcon(Icon& NewIcon)
|
||||
{
|
||||
Icons.AddCopy(NewIcon);
|
||||
CentreShift = 0.0f;
|
||||
}
|
||||
|
||||
|
||||
XImage& XTheme::GetIcon(XStringW& Name, BOOLEAN Night)
|
||||
{
|
||||
XImage* TheIcon = NULL;
|
||||
for (size_t i = 0; i < Icons.size(); i++)
|
||||
{
|
||||
if (Icons[i].Name == Name)
|
||||
{
|
||||
if (Night) {
|
||||
TheIcon = &Icons[i].ImageNight;
|
||||
}
|
||||
if (TheIcon == NULL || (*TheIcon).isEmpty()) { //if daylight or night icon absent
|
||||
TheIcon = &Icons[i].Image;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return *TheIcon;
|
||||
}
|
||||
|
||||
XImage& XTheme::GetIcon(INTN Id, BOOLEAN Night)
|
||||
{
|
||||
XImage* TheIcon = NULL;
|
||||
for (size_t i = 0; i < Icons.size(); i++)
|
||||
{
|
||||
if (Icons[i].Id == Id)
|
||||
{
|
||||
if (Night) {
|
||||
TheIcon = &Icons[i].ImageNight;
|
||||
}
|
||||
if (TheIcon == NULL || (*TheIcon).isEmpty()) { //if daylight or night icon absent
|
||||
TheIcon = &Icons[i].Image;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return *TheIcon;
|
||||
}
|
||||
|
||||
void XTheme::AddIcon(Icon& NewIcon)
|
||||
{
|
||||
Icons.AddCopy(NewIcon);
|
||||
}
|
@ -630,18 +630,21 @@ static VOID StartLoader(IN LOADER_ENTRY *Entry)
|
||||
// OSIcons
|
||||
NSVGfontChain *fontChain = fontsDB;
|
||||
while (fontChain) {
|
||||
DBG("free fontChain \n");
|
||||
font = fontChain->font;
|
||||
NSVGfontChain *nextChain = fontChain->next;
|
||||
if (font) {
|
||||
nsvg__deleteFont(font);
|
||||
fontChain->font = NULL;
|
||||
}
|
||||
fontChain = fontChain->next;
|
||||
FreePool(fontChain);
|
||||
fontChain = nextChain->next;
|
||||
}
|
||||
// nsvg__deleteParser(mainParser); //temporary disabled
|
||||
//destruct_globals_objects(NULL); //we can't destruct our globals here. We need, for example, Volumes.
|
||||
|
||||
//DumpKernelAndKextPatches(Entry->KernelAndKextPatches);
|
||||
|
||||
DBG("start loader\n");
|
||||
// Load image into memory (will be started later)
|
||||
Status = LoadEFIImage(Entry->DevicePath, Basename(Entry->LoaderPath), NULL, &ImageHandle);
|
||||
if (EFI_ERROR(Status)) {
|
||||
|
Loading…
Reference in New Issue
Block a user