diff --git a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs index c88545c6..60a69f58 100644 --- a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs +++ b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlService.cs @@ -10,22 +10,30 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl public override IReadOnlyDictionary Commands => m_Commands; - public bool Initialized = false; + private bool Initialized = false; - public IParentalControlService() + private bool NeedInitialize; + + public IParentalControlService(bool NeedInitialize = true) { m_Commands = new Dictionary() { { 1, Initialize } }; + + this.NeedInitialize = NeedInitialize; } public long Initialize(ServiceCtx Context) { - if (!Initialized) + if (NeedInitialize && !Initialized) + { Initialized = true; + } else + { Context.Ns.Log.PrintWarning(LogClass.ServicePctl, "Service is already initialized!"); + } return 0; } diff --git a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs index 5a7b2c29..7ef91d7f 100644 --- a/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs +++ b/Ryujinx.HLE/OsHle/Services/Pctl/IParentalControlServiceFactory.cs @@ -27,11 +27,7 @@ namespace Ryujinx.HLE.OsHle.Services.Pctl public long CreateServiceWithoutInitialize(ServiceCtx Context) { - IParentalControlService Service = new IParentalControlService(); - - Service.Initialized = true; - - MakeObject(Context, Service); + MakeObject(Context, new IParentalControlService(false)); return 0; }