diff --git a/display_server/rosen/modules/render_service_base/src/platform/fangtian/rs_render_service_connect_hub.cpp b/display_server/rosen/modules/render_service_base/src/platform/fangtian/rs_render_service_connect_hub.cpp index 8451bf7f35d023cf2b9bb8b429f028716c13daf5..35363eb74982b98576d67aa2550bdb837e646db5 100755 --- a/display_server/rosen/modules/render_service_base/src/platform/fangtian/rs_render_service_connect_hub.cpp +++ b/display_server/rosen/modules/render_service_base/src/platform/fangtian/rs_render_service_connect_hub.cpp @@ -106,7 +106,7 @@ bool RSRenderServiceConnectHub::Connect() continue; } auto remoteObject = samgr->GetSystemAbility(RENDER_SERVICE); - if (remoteObject == nullptr || !remoteObject->IsProxyObject()) { + if (remoteObject == nullptr) { continue; } renderService = iface_cast(remoteObject); @@ -120,9 +120,11 @@ bool RSRenderServiceConnectHub::Connect() return false; } - deathRecipient_ = new RenderServiceDeathRecipient(this); - if (!renderService->AsObject()->AddDeathRecipient(deathRecipient_)) { - ROSEN_LOGW("RSRenderServiceConnectHub::Connect, failed to AddDeathRecipient of render service."); + if (renderService->AsObject()->IsProxyObject()) { + deathRecipient_ = new RenderServiceDeathRecipient(this); + if (!renderService->AsObject()->AddDeathRecipient(deathRecipient_)) { + ROSEN_LOGW("RSRenderServiceConnectHub::Connect, failed to AddDeathRecipient of render service."); + } } if (token_ == nullptr) { @@ -139,7 +141,7 @@ bool RSRenderServiceConnectHub::Connect() std::lock_guard lock(mutex_); renderService_ = renderService; conn_ = conn; - + if (onConnectCallback_) { onConnectCallback_(conn_); } diff --git a/display_server/rosen/modules/render_service_base/src/platform/ohos/rs_render_service_connect_hub.cpp b/display_server/rosen/modules/render_service_base/src/platform/ohos/rs_render_service_connect_hub.cpp index 9a2a3f17df7c1f2e57a3347e8726ba9d64c44c5a..bae9e96d4ae6e171fa88c5caae6598fa6ef59377 100755 --- a/display_server/rosen/modules/render_service_base/src/platform/ohos/rs_render_service_connect_hub.cpp +++ b/display_server/rosen/modules/render_service_base/src/platform/ohos/rs_render_service_connect_hub.cpp @@ -139,7 +139,7 @@ bool RSRenderServiceConnectHub::Connect() std::lock_guard lock(mutex_); renderService_ = renderService; conn_ = conn; - + if (onConnectCallback_) { onConnectCallback_(conn_); }