From 785c549c29f25ed14417ce659bba25dd3d1db7c0 Mon Sep 17 00:00:00 2001 From: Klaus_q Date: Thu, 10 Mar 2022 16:35:15 +0800 Subject: [PATCH] =?UTF-8?q?display=20issue=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Klaus_q Change-Id: I76f55250e8e790d7bc54b615c776565fbb8e01a9 --- dm/src/display_manager_adapter.cpp | 4 ++-- dmserver/src/abstract_display_controller.cpp | 6 +++++- utils/src/display_info.cpp | 5 ++++- wmserver/src/window_manager_service.cpp | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/dm/src/display_manager_adapter.cpp b/dm/src/display_manager_adapter.cpp index 5e2ae403..853c5bb5 100644 --- a/dm/src/display_manager_adapter.cpp +++ b/dm/src/display_manager_adapter.cpp @@ -232,8 +232,8 @@ bool BaseAdapter::InitDMSProxy() return false; } - dmsDeath_ = new DMSDeathRecipient(*this); - if (!dmsDeath_) { + dmsDeath_ = new(std::nothrow) DMSDeathRecipient(*this); + if (dmsDeath_ == nullptr) { WLOGFE("Failed to create death Recipient ptr DMSDeathRecipient"); return false; } diff --git a/dmserver/src/abstract_display_controller.cpp b/dmserver/src/abstract_display_controller.cpp index 8a4f99be..ea88ff2d 100644 --- a/dmserver/src/abstract_display_controller.cpp +++ b/dmserver/src/abstract_display_controller.cpp @@ -44,7 +44,11 @@ void AbstractDisplayController::Init(sptr abstractScre WLOGFD("display controller init"); displayCount_ = 0; abstractScreenController_ = abstractScreenController; - abstractScreenCallback_ = new AbstractScreenController::AbstractScreenCallback(); + abstractScreenCallback_ = new(std::nothrow) AbstractScreenController::AbstractScreenCallback(); + if (abstractScreenCallback_ == nullptr) { + WLOGFE("abstractScreenCallback init failed"); + return; + } abstractScreenCallback_->onConnect_ = std::bind(&AbstractDisplayController::OnAbstractScreenConnect, this, std::placeholders::_1); abstractScreenCallback_->onDisconnect_ diff --git a/utils/src/display_info.cpp b/utils/src/display_info.cpp index e8b894b4..e4748be7 100644 --- a/utils/src/display_info.cpp +++ b/utils/src/display_info.cpp @@ -28,7 +28,10 @@ bool DisplayInfo::Marshalling(Parcel &parcel) const DisplayInfo *DisplayInfo::Unmarshalling(Parcel &parcel) { - DisplayInfo *displayInfo = new DisplayInfo(); + DisplayInfo *displayInfo = new(std::nothrow) DisplayInfo(); + if (displayInfo == nullptr) { + return nullptr; + } uint32_t type = (uint32_t)DisplayType::DEFAULT; uint32_t rotation; uint32_t orientation; diff --git a/wmserver/src/window_manager_service.cpp b/wmserver/src/window_manager_service.cpp index 068c1c31..b176df9b 100644 --- a/wmserver/src/window_manager_service.cpp +++ b/wmserver/src/window_manager_service.cpp @@ -65,7 +65,7 @@ void WindowManagerService::OnStart() void WindowManagerService::RegisterSnapshotHandler() { - if (!snapshotController_) { + if (snapshotController_ == nullptr) { snapshotController_ = new SnapshotController(windowRoot_); } if (AAFwk::AbilityManagerClient::GetInstance()->RegisterSnapshotHandler(snapshotController_) != ERR_OK) {