diff --git a/src/core/hle/service/plgldr/plgldr.cpp b/src/core/hle/service/plgldr/plgldr.cpp index 7203e48fb..afafc9cb9 100644 --- a/src/core/hle/service/plgldr/plgldr.cpp +++ b/src/core/hle/service/plgldr/plgldr.cpp @@ -91,7 +91,11 @@ void PLG_LDR::serialize(Archive& ar, const unsigned int) { SERIALIZE_IMPL(PLG_LDR) void PLG_LDR::OnProcessRun(Kernel::Process& process, Kernel::KernelSystem& kernel) { - if (!plgldr_context.is_enabled || plgldr_context.plugin_loaded) { + constexpr u32 TITLE_ID_APP_MASK = 0xFFFFFFED; + constexpr u32 TITLE_ID_APP_VALUE = 0x04000000; + if (!plgldr_context.is_enabled || plgldr_context.plugin_loaded || + (static_cast(process.codeset->program_id >> 32) & TITLE_ID_APP_MASK) != + TITLE_ID_APP_VALUE) { return; } {