improve fix 73c68def7ec2bb7d3af1a4370209cb862f66b408

This commit is contained in:
Jinhao 2019-04-02 01:19:07 +08:00
parent 73c68def7e
commit 6b8a898239
2 changed files with 7 additions and 3 deletions

View File

@ -39,6 +39,10 @@ namespace nana
} }
else else
_m_paint_glass_window(wd, (paint_operation::try_refresh == operation), req_refresh_children, false, true); _m_paint_glass_window(wd, (paint_operation::try_refresh == operation), req_refresh_children, false, true);
//maproot and _m_paint_glass_window always copy the children graphics, therefore the mapping requester should
//be cleared to avoid redundant copying
wd->other.mapping_requester.clear();
} }
bool window_layout::maproot(core_window_t* wd, bool have_refreshed, bool req_refresh_children) bool window_layout::maproot(core_window_t* wd, bool have_refreshed, bool req_refresh_children)

View File

@ -1086,12 +1086,12 @@ namespace detail
if (wd->flags.action != wd->flags.action_before) if (wd->flags.action != wd->flags.action_before)
this->map(wd, true); this->map(wd, true);
} }
//Map the requested children.
this->map_requester(wd);
} }
else else
window_layer::paint(wd, paint_operation::try_refresh, refresh_tree); //only refreshing if it has an invisible parent window_layer::paint(wd, paint_operation::try_refresh, refresh_tree); //only refreshing if it has an invisible parent
//Map the requested children.
this->map_requester(wd);
} }
else else
wd->other.mapping_requester.clear(); wd->other.mapping_requester.clear();