diff options
Diffstat (limited to 'src/core/hle/service/service.cpp')
| -rw-r--r-- | src/core/hle/service/service.cpp | 8 |
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 |
| 167 | void Init() { | 167 | void 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"); |