فهرست منبع

Avoid modifying Object::m_children while iterating it.

Andreas Kling 6 سال پیش
والد
کامیت
aee66e0119
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      Widgets/Object.cpp

+ 2 - 2
Widgets/Object.cpp

@@ -13,9 +13,9 @@ Object::~Object()
 {
     if (m_parent)
         m_parent->removeChild(*this);
-    for (auto* child : m_children) {
+    auto childrenToDelete = std::move(m_children);
+    for (auto* child : childrenToDelete)
         delete child;
-    }
 }
 
 void Object::event(Event& event)