summaryrefslogtreecommitdiff
path: root/src/core/hle/service/service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/service.cpp')
-rw-r--r--src/core/hle/service/service.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 3f5ce56c6..1b8565351 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -165,11 +165,15 @@ void AddNamedPort(std::string name, SharedPtr<ClientPort> port) {
165 165
166/// Initialize ServiceManager 166/// Initialize ServiceManager
167void Init() { 167void Init() {
168 // NVFlinger needs to be accessed by several services like Vi and AppletOE so we instantiate it
169 // here and pass it into the respective InstallInterfaces functions.
170 auto nv_flinger = std::make_shared<NVFlinger::NVFlinger>();
171
168 SM::g_service_manager = std::make_shared<SM::ServiceManager>(); 172 SM::g_service_manager = std::make_shared<SM::ServiceManager>();
169 SM::ServiceManager::InstallInterfaces(SM::g_service_manager); 173 SM::ServiceManager::InstallInterfaces(SM::g_service_manager);
170 174
171 Account::InstallInterfaces(*SM::g_service_manager); 175 Account::InstallInterfaces(*SM::g_service_manager);
172 AM::InstallInterfaces(*SM::g_service_manager); 176 AM::InstallInterfaces(*SM::g_service_manager, nv_flinger);
173 AOC::InstallInterfaces(*SM::g_service_manager); 177 AOC::InstallInterfaces(*SM::g_service_manager);
174 APM::InstallInterfaces(*SM::g_service_manager); 178 APM::InstallInterfaces(*SM::g_service_manager);
175 Audio::InstallInterfaces(*SM::g_service_manager); 179 Audio::InstallInterfaces(*SM::g_service_manager);
@@ -180,7 +184,7 @@ void Init() {
180 PCTL::InstallInterfaces(*SM::g_service_manager); 184 PCTL::InstallInterfaces(*SM::g_service_manager);
181 Sockets::InstallInterfaces(*SM::g_service_manager); 185 Sockets::InstallInterfaces(*SM::g_service_manager);
182 Time::InstallInterfaces(*SM::g_service_manager); 186 Time::InstallInterfaces(*SM::g_service_manager);
183 VI::InstallInterfaces(*SM::g_service_manager); 187 VI::InstallInterfaces(*SM::g_service_manager, nv_flinger);
184 Set::InstallInterfaces(*SM::g_service_manager); 188 Set::InstallInterfaces(*SM::g_service_manager);
185 189
186 LOG_DEBUG(Service, "initialized OK"); 190 LOG_DEBUG(Service, "initialized OK");