From 8b9350bd43ac8790e8dbccef2eb1df505e37a759 Mon Sep 17 00:00:00 2001 From: parhelia512 <0011d3@gmail.com> Date: Sat, 17 May 2025 02:29:36 +0800 Subject: [PATCH] Use relative path when extra core is located in the nekoray directory (#415) --- src/configs/ConfigBuilder.cpp | 4 ++-- src/ui/profile/edit_extra_core.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/configs/ConfigBuilder.cpp b/src/configs/ConfigBuilder.cpp index 0093bca..2636737 100644 --- a/src/configs/ConfigBuilder.cpp +++ b/src/configs/ConfigBuilder.cpp @@ -432,12 +432,12 @@ namespace NekoGui { if (status->ent->type == "extracore") { auto bean = status->ent->ExtraCoreBean(); - status->result->extraCoreData->path = bean->extraCorePath; + status->result->extraCoreData->path = QFileInfo(bean->extraCorePath).canonicalFilePath(); status->result->extraCoreData->args = bean->extraCoreArgs; status->result->extraCoreData->config = bean->extraCoreConf; status->result->extraCoreData->configDir = GetBasePath(); status->result->extraCoreData->noLog = bean->noLogs; - routeChain->Rules << RouteRule::get_processPath_direct_rule(bean->extraCorePath); + routeChain->Rules << RouteRule::get_processPath_direct_rule(status->result->extraCoreData->path); } // Direct domains diff --git a/src/ui/profile/edit_extra_core.cpp b/src/ui/profile/edit_extra_core.cpp index 3f1766a..f89034b 100644 --- a/src/ui/profile/edit_extra_core.cpp +++ b/src/ui/profile/edit_extra_core.cpp @@ -34,6 +34,10 @@ void EditExtraCore::onStart(std::shared_ptr _ent) { { return; } + if (!QDir::current().relativeFilePath(f).startsWith("../../")) + { + f = QDir::current().relativeFilePath(f); + } if (NekoGui::profileManager->AddExtraCorePath(f)) ui->path_combo->addItem(f); ui->path_combo->setCurrentText(f); ui->path_combo->setSizeAdjustPolicy(QComboBox::AdjustToContents);