diff --git a/src/ui/view.cpp b/src/ui/view.cpp index 4501cc997f59ff644c376427df654309f610fba5..74d972b61800f33ab53fa48b496b87b07f1c42cb 100644 --- a/src/ui/view.cpp +++ b/src/ui/view.cpp @@ -7,9 +7,11 @@ namespace rmrf::ui { view::view(std::shared_ptr<view> parent) : parent_view{parent} { if(this->parent_view != nullptr) { - std::shared_ptr<new_child_event> child_event(new new_child_event(this)); + const std::shared_ptr<new_child_event> child_event(new new_child_event(this)); this->parent_view->schedule_update(child_event); - delete child_event; + if (child_event->unique()) { + child_event->reset(); // Delete the object if it wasn't stored elsewhere + } } }