disable traceback lines with non-existing files

This commit is contained in:
MihailRis 2024-11-24 12:09:46 +03:00
parent 5039bdfc63
commit 9ed80ec835
4 changed files with 13 additions and 7 deletions

View File

@ -84,13 +84,11 @@ events.on("core:open_traceback", function(traceback_b64)
framestr = framestr.."("..tostring(frame.name)..")"
end
local color = "#FFFFFF"
if frame.source:starts_with("core:") then
color = "#C0D0C5"
end
tb_list:add(gui.template("stack_frame", {
location=framestr,
color=color,
callback=callback
callback=callback,
enabled=file.exists(frame.source)
}))
end
tb_list.size = srcsize

View File

@ -1,3 +1,3 @@
<label hover-color="#A0A0FF" interactive="true" onclick="%{callback}" color="%{color}">
<label hover-color="#A0A0FF" interactive="true" onclick="%{callback}" color="%{color}" enabled="%{enabled}">
%{location}
</label>

View File

@ -185,8 +185,16 @@ assetload::postfunc assetload::layout(
return [=](auto assets) {
try {
auto cfg = std::dynamic_pointer_cast<LayoutCfg>(config);
size_t pos = name.find(':');
auto prefix = name.substr(0, pos);
assets->store(
UiDocument::read(cfg->env, name, file, "abs:" + file), name
UiDocument::read(
cfg->env,
name,
file,
prefix + ":layouts/" + name.substr(pos + 1) + ".xml"
),
name
);
} catch (const parsing_error& err) {
throw std::runtime_error(

View File

@ -19,7 +19,7 @@ static fs::path resolve_path(const std::string& path) {
static fs::path resolve_path_soft(const std::string& path) {
if (path.find(':') == std::string::npos) {
return path;
return fs::u8path("");
}
return engine->getPaths()->resolve(path, false);
}