honya Posted April 3, 2019 Posted April 3, 2019 Hi, i create ObjectGui, add to him one widget. When i delete ObjectGui i get warning: Gui::~Gui(): 1 widgets is not removed from GUI Code is in c/c++: Unigine::ObjectGuiPtr infoGui = Unigine::ObjectGui::create(1.0f, 1.0f); infoGui.get()->release(); Unigine::Editor::get()->addNode(infoGui.get()->getNode(), true); Unigine::GuiPtr gui = infoGui.get()->getGui(); Unigine::WidgetLabelPtr nameLabel = Unigine::WidgetLabel::create(gui, "name"); nameLabel.get()->release(); nameLabel.get()->setFontSize(24); gui.get()->addChild(nameLabel.get()->getWidget()); gui.get()->removeChild(nameLabel.get()->getWidget()); Unigine::Editor::get()->removeNode(infoGui.get()->getNode()); Bug or something missing on my side? Thanks Honya
morbid Posted April 4, 2019 Posted April 4, 2019 Hi Honya, Try deleting widget manually, removeChild doesn't do this: Unigine::ObjectGuiPtr infoGui = Unigine::ObjectGui::create(1.0f, 1.0f); infoGui.get()->release(); Unigine::Editor::get()->addNode(infoGui.get()->getNode(), true); Unigine::GuiPtr gui = infoGui.get()->getGui(); { Unigine::WidgetLabelPtr nameLabel = Unigine::WidgetLabel::create(gui, "name"); nameLabel.get()->release(); nameLabel.get()->setFontSize(24); gui.get()->addChild(nameLabel.get()->getWidget()); gui.get()->removeChild(nameLabel.get()->getWidget()); nameLabel->grab(); } Unigine::Editor::get()->removeNode(infoGui.get()->getNode()); Thanks. 1 How to submit a good bug report --- FTP server for test scenes and user uploads: ftp://files.unigine.com user: upload password: 6xYkd6vLYWjpW6SN
honya Posted April 4, 2019 Author Posted April 4, 2019 Morbid, thanks for it, it's work without warning. Honya
Recommended Posts