Merge pull request #525 from DrChat/getmodule_fix

Fix KernelState::GetModule
This commit is contained in:
Ben Vanik 2016-01-24 08:04:01 -08:00
commit 7cfa664b2d
1 changed files with 10 additions and 1 deletions

View File

@ -226,6 +226,7 @@ object_ref<XModule> KernelState::GetModule(const char* name, bool user_only) {
// Some games request this, for some reason. wtf. // Some games request this, for some reason. wtf.
return nullptr; return nullptr;
} }
auto global_lock = global_critical_region_.Acquire(); auto global_lock = global_critical_region_.Acquire();
if (!user_only) { if (!user_only) {
@ -236,8 +237,16 @@ object_ref<XModule> KernelState::GetModule(const char* name, bool user_only) {
} }
} }
std::string path(name);
// Resolve the path to an absolute path.
auto entry = file_system_->ResolvePath(name);
if (entry) {
path = entry->absolute_path();
}
for (auto user_module : user_modules_) { for (auto user_module : user_modules_) {
if (user_module->Matches(name)) { if (user_module->Matches(path)) {
return retain_object(user_module.get()); return retain_object(user_module.get());
} }
} }