Fix SIGSEGV

master
Nicole Collings 2019-12-12 18:46:57 -08:00
parent 3824b06061
commit e4cc4b788e
4 changed files with 7 additions and 7 deletions

View File

@ -106,11 +106,12 @@ void GuiBuilder::deserialize() {
void GuiBuilder::build(glm::ivec2 win) {
this->win = win;
clear();
clear(false);
recursivelyCreate(components, root);
}
void GuiBuilder::clear() {
void GuiBuilder::clear(bool clrCallbacks) {
if (clrCallbacks) callbacks.clear();
root->empty();
}
@ -315,5 +316,5 @@ std::vector<std::string> GuiBuilder::splitValue(const std::string &value, unsign
}
GuiBuilder::~GuiBuilder() {
clear();
clear(true);
}

View File

@ -17,7 +17,7 @@ public:
GuiBuilder(LocalDefs& defs, std::shared_ptr<GUIContainer> root);
void setGui(const std::string& menu, const std::map<std::string, std::function<void()>>& callbacks = {});
void build(glm::ivec2 win);
void clear();
void clear(bool clrCallbacks = true);
~GuiBuilder();

View File

@ -37,7 +37,7 @@ void MenuSandbox::setup() {
}
void MenuSandbox::load(const std::string &subgamePath) {
container->empty();
builder.clear();
setup();
loadMod(subgamePath + "/menu");
DoFileSandboxed("main");

View File

@ -20,8 +20,7 @@ namespace MenuApi {
builder.setGui(gui, callbackMap);
}
else
builder.setGui(gui);
else builder.setGui(gui);
builder.build(win);
});
}