mirror of
https://github.com/openharmony/windowmanager.git
synced 2026-07-20 01:13:32 -04:00
bugfix about black screen one frame in uni render
Signed-off-by: thelastking <chenlulu16@huawei.com> Change-Id: Icef95d80d845aee4558a98f5e624777ab636ecfd
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#include <display_power_mgr_client.h>
|
||||
#include <hitrace_meter.h>
|
||||
#include <power_mgr_client.h>
|
||||
#include "transaction/rs_transaction.h"
|
||||
|
||||
#include "common_event_manager.h"
|
||||
#include "dm_common.h"
|
||||
@@ -1178,6 +1179,7 @@ void WindowNodeContainer::TraverseAndUpdateWindowState(WindowState state, int32_
|
||||
for (auto& node : rootNodes) {
|
||||
UpdateWindowState(node, topPriority, state);
|
||||
}
|
||||
RSTransaction::FlushImplicitTransaction();
|
||||
}
|
||||
|
||||
void WindowNodeContainer::UpdateWindowState(sptr<WindowNode> node, int32_t topPriority, WindowState state)
|
||||
@@ -1192,6 +1194,10 @@ void WindowNodeContainer::UpdateWindowState(sptr<WindowNode> node, int32_t topPr
|
||||
node->GetWindowToken()->UpdateWindowState(state);
|
||||
}
|
||||
HandleKeepScreenOn(node, state);
|
||||
auto surfaceNode = node->surfaceNode_;
|
||||
if (surfaceNode) {
|
||||
surfaceNode->SetVisible(state == WindowState::STATE_FROZEN ? false : true);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (auto& childNode : node->children_) {
|
||||
|
||||
Reference in New Issue
Block a user