Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
457c68dc
O
OpenCorePKG_MOD
项目概览
btwise
/
OpenCorePKG_MOD
通知
26
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
OpenCorePKG_MOD
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
457c68dc
编写于
2月 23, 2023
作者:
M
Mike Beaton
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
OpenCanopy: Restore screen clear on exit
https://github.com/acidanthera/bugtracker/issues/2231
上级
a0a25e59
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
12 deletion
+19
-12
Platform/OpenCanopy/OcBootstrap.c
Platform/OpenCanopy/OcBootstrap.c
+19
-12
未找到文件。
Platform/OpenCanopy/OcBootstrap.c
浏览文件 @
457c68dc
...
@@ -196,12 +196,19 @@ OcShowMenuByOc (
...
@@ -196,12 +196,19 @@ OcShowMenuByOc (
ASSERT
(
mGuiContext
.
BootEntry
!=
NULL
||
mGuiContext
.
Refresh
);
ASSERT
(
mGuiContext
.
BootEntry
!=
NULL
||
mGuiContext
.
Refresh
);
//
//
// Do not use this clear screen, since the convention (in Apple native picker, but also
// There are reasons to prefer not to perform this screen clear:
// other parts of other pre-boot UI) is for each UI step which finishes to leave its own
// - If starting macOS, boot.efi performs the same screen clear to the same UI theme colour
// graphics up for the next step to clear; this matches that, and gives a slightly smoother,
// immediately afterwards anyway
// slightly faster UI experience.
// - The native Apple picker does not clear its graphics before exit (i.e. does not do this)
// - Most OS booters in most circumstance perform their own screen clear
// - Each screen clear on a slow GOP (such as direct GOP rendering) is a noticeable slowdown
// However:
// - Windows without ACPI->Quirks->ResetLogoStatus does not clear any pre-existing graphics
// - Ref: https://github.com/acidanthera/bugtracker/issues/2231
// - Peforming this screen clear gives a sense of progress (i.e. something happens immediately
// rather than nothing) if the selected entry will be very slow to start (e.g. Recovery, in
/// some circumstances)
//
//
#if 0
if
(
!
mGuiContext
.
Refresh
)
{
if
(
!
mGuiContext
.
Refresh
)
{
//
//
// Clear the screen only when we exit.
// Clear the screen only when we exit.
...
@@ -209,8 +216,6 @@ OcShowMenuByOc (
...
@@ -209,8 +216,6 @@ OcShowMenuByOc (
GuiClearScreen
(
&
mDrawContext
,
&
mGuiContext
.
BackgroundColor
.
Pixel
);
GuiClearScreen
(
&
mDrawContext
,
&
mGuiContext
.
BackgroundColor
.
Pixel
);
}
}
#endif
//
//
// Note, it is important to destruct GUI here, as we must ensure
// Note, it is important to destruct GUI here, as we must ensure
// that keyboard/mouse polling does not conflict with FV2 ui.
// that keyboard/mouse polling does not conflict with FV2 ui.
...
@@ -272,13 +277,15 @@ OcShowPasswordByOc (
...
@@ -272,13 +277,15 @@ OcShowPasswordByOc (
GuiDrawLoop
(
&
mDrawContext
);
GuiDrawLoop
(
&
mDrawContext
);
//
//
// Keep this clear screen, since it seems to match Mac firmware behaviour here better,
// This screen clear is useful, even though the boot entry started will in general
// and it gives a better sense of progress between (intentionally slow - computationally
// perform its own screen clear eventually anyway, since this gives a better sense
// intensive) password verification and (can be slow) start of Recovery.
// of progress between (intentionally slow - computationally intensive) password
//
// verification and (can be slow) start of Recovery.
// Clear the screen only if we will not show BootPicker afterwards.
//
//
if
(
Context
->
PickerCommand
!=
OcPickerShowPicker
)
{
if
(
Context
->
PickerCommand
!=
OcPickerShowPicker
)
{
//
// Clear the screen only if we will not show BootPicker afterwards.
//
GuiClearScreen
(
&
mDrawContext
,
&
mGuiContext
.
BackgroundColor
.
Pixel
);
GuiClearScreen
(
&
mDrawContext
,
&
mGuiContext
.
BackgroundColor
.
Pixel
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录