From d61cdcede18cce8c6ca0f05a1fb9b22d742e17e5 Mon Sep 17 00:00:00 2001 From: MistEO Date: Thu, 13 Apr 2023 00:09:51 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8=E6=97=B6=E7=9A=84=E5=B4=A9=E6=BA=83?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/4298 --- src/MaaCore/Config/TemplResource.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/MaaCore/Config/TemplResource.cpp b/src/MaaCore/Config/TemplResource.cpp index 7154fe09ef..45232fd98e 100644 --- a/src/MaaCore/Config/TemplResource.cpp +++ b/src/MaaCore/Config/TemplResource.cpp @@ -57,7 +57,20 @@ const cv::Mat& asst::TemplResource::get_templ(const std::string& name) { if (m_templs.find(name) == m_templs.cend()) { Log.info(__FUNCTION__, "lazy load", name); - cv::Mat templ = asst::imread(m_templ_paths.at(name)); + + auto path_iter = m_templ_paths.find(name); + if (path_iter == m_templ_paths.cend()) { + Log.error(__FUNCTION__, "templ not found", name); + +#ifdef ASST_DEBUG + throw std::runtime_error("templ not found: " + name); +#else + static cv::Mat empty; + return empty; +#endif + } + + cv::Mat templ = asst::imread(path_iter->second); m_templs.emplace(name, std::move(templ)); } return m_templs.at(name);