From cb62e1574805fd0e7d711867355dac99c9f9a308 Mon Sep 17 00:00:00 2001 From: mk73ds <10391562+MK73DS@users.noreply.github.com> Date: Sun, 5 Feb 2023 12:54:58 +0100 Subject: [PATCH] Ignore new layer creations instead of replacing previous ones while waiting for proper multiple layers support. --- .../services/hosbinder/IHOSBinderDriver.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/cpp/skyline/services/hosbinder/IHOSBinderDriver.cpp b/app/src/main/cpp/skyline/services/hosbinder/IHOSBinderDriver.cpp index 44323d0b..5ec3f1f2 100644 --- a/app/src/main/cpp/skyline/services/hosbinder/IHOSBinderDriver.cpp +++ b/app/src/main/cpp/skyline/services/hosbinder/IHOSBinderDriver.cpp @@ -117,13 +117,13 @@ namespace skyline::service::hosbinder { u64 IHOSBinderDriver::CreateLayer(DisplayId pDisplayId) { if (pDisplayId != displayId) throw exception("Creating layer on unopened display: '{}'", ToString(pDisplayId)); - else if (layer) // Fallback to replacing previous layer - Logger::Warn("Creation of multiple layers is not supported"); - - - layerStrongReferenceCount = InitialStrongReferenceCount; - layerWeakReferenceCount = 0; - layer = std::make_shared(state, nvMap); + else if (!layer) { + layerStrongReferenceCount = InitialStrongReferenceCount; + layerWeakReferenceCount = 0; + layer = std::make_shared(state, nvMap); + } + else // Ignore new layer creations if one already exists + Logger::Warn("Creation of multiple layers is not supported. Ignoring creation of new layers."); return DefaultLayerId; }