temporary fix improvement

This commit is contained in:
MihailRis 2025-12-02 22:59:56 +03:00 committed by ShiftyX1
parent fbc6d072e8
commit 417521e94f
2 changed files with 25 additions and 20 deletions

View File

@ -1,16 +1,13 @@
local menubg
function on_menu_clear()
print("menu clear")
if menubg then
menubg:destruct()
menubg = nil
end
end
function on_menu_setup()
-- //TODO:
time.post_runnable(function()
local function setup_backround()
local controller = {}
function controller.resize_menu_bg()
local w, h = unpack(gui.get_viewport())
@ -20,13 +17,16 @@ function on_menu_setup()
end
return w, h
end
gui.root.root:add(
"<image id='menubg' src='gui/menubg' size-func='DATA.resize_menu_bg' "..
"z-index='-1' interactive='true'/>", controller)
menubg = gui.root.menubg
local bgid = random.uuid()
gui.root.root:add(string.format(
"<image id='%s' src='gui/menubg' size-func='DATA.resize_menu_bg' "..
"z-index='-1' interactive='true'/>", bgid), controller)
menubg = gui.root[bgid]
controller.resize_menu_bg()
end)
end
function on_menu_setup()
setup_backround()
menu.page = "main"
menu.visible = true
end

View File

@ -390,10 +390,15 @@ void UINode::getIndices(
const std::string& id = node->getId();
if (!id.empty()) {
const auto& found = map.find(id);
if (found == map.end() || found->second.expired()) {
map[id] = node;
if (found != map.end()) {
auto prev = found->second.lock();
if (prev && prev->getParent()) {
return;
}
}
map[id] = node;
}
auto container = std::dynamic_pointer_cast<gui::Container>(node);
if (container) {
for (const auto& subnode : container->getNodes()) {