Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_34031325
engine
提交
26daf11e
E
engine
项目概览
qq_34031325
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
26daf11e
编写于
3月 12, 2021
作者:
Y
Yuhui Huang
提交者:
GitHub
3月 11, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix high CPU consumption (#24944)
上级
d0432662
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
18 deletion
+11
-18
shell/platform/linux/fl_view.cc
shell/platform/linux/fl_view.cc
+11
-18
未找到文件。
shell/platform/linux/fl_view.cc
浏览文件 @
26daf11e
...
...
@@ -407,13 +407,13 @@ static void fl_view_size_allocate(GtkWidget* widget,
fl_view_geometry_changed
(
self
);
}
struct
_
Draw
Data
{
struct
_
Reorder
Data
{
GdkWindow
*
parent_window
;
GdkWindow
*
last_window
;
};
static
void
fl_view_
draw
_forall
(
GtkWidget
*
widget
,
gpointer
user_data
)
{
_
DrawData
*
data
=
reinterpret_cast
<
_Draw
Data
*>
(
user_data
);
static
void
fl_view_
reorder
_forall
(
GtkWidget
*
widget
,
gpointer
user_data
)
{
_
ReorderData
*
data
=
reinterpret_cast
<
_Reorder
Data
*>
(
user_data
);
GdkWindow
*
window
=
gtk_widget_get_window
(
widget
);
if
(
window
&&
window
!=
data
->
parent_window
)
{
if
(
data
->
last_window
)
{
...
...
@@ -423,20 +423,6 @@ static void fl_view_draw_forall(GtkWidget* widget, gpointer user_data) {
}
}
// Implements GtkWidget::draw.
static
gboolean
fl_view_draw
(
GtkWidget
*
widget
,
cairo_t
*
cr
)
{
FlView
*
self
=
FL_VIEW
(
widget
);
struct
_DrawData
data
=
{
.
parent_window
=
gtk_widget_get_window
(
GTK_WIDGET
(
self
)),
.
last_window
=
nullptr
,
};
gtk_container_forall
(
GTK_CONTAINER
(
self
),
fl_view_draw_forall
,
&
data
);
return
GTK_WIDGET_CLASS
(
fl_view_parent_class
)
->
draw
(
widget
,
cr
);
}
static
gboolean
event_box_button_press_event
(
GtkWidget
*
widget
,
GdkEventButton
*
event
,
FlView
*
view
)
{
...
...
@@ -613,7 +599,6 @@ static void fl_view_class_init(FlViewClass* klass) {
widget_class
->
get_preferred_width
=
fl_view_get_preferred_width
;
widget_class
->
get_preferred_height
=
fl_view_get_preferred_height
;
widget_class
->
size_allocate
=
fl_view_size_allocate
;
widget_class
->
draw
=
fl_view_draw
;
widget_class
->
key_press_event
=
fl_view_key_press_event
;
widget_class
->
key_release_event
=
fl_view_key_release_event
;
...
...
@@ -740,5 +725,13 @@ void fl_view_end_frame(FlView* view) {
g_list_free
(
view
->
children_list
);
view
->
children_list
=
view
->
pending_children_list
;
view
->
pending_children_list
=
nullptr
;
struct
_ReorderData
data
=
{
.
parent_window
=
gtk_widget_get_window
(
GTK_WIDGET
(
view
)),
.
last_window
=
nullptr
,
};
gtk_container_forall
(
GTK_CONTAINER
(
view
),
fl_view_reorder_forall
,
&
data
);
gtk_widget_queue_draw
(
GTK_WIDGET
(
view
));
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录