src: Fix crash on exit when deleting components (#789)

* build: add missing includes in header files

* logic: delete components in reverse to creation order
This commit is contained in:
Alexey Andronov
2019-12-16 15:53:58 +01:00
committed by Eberhard Graether
parent 3f88aba025
commit ee2d6662e8
3 changed files with 14 additions and 3 deletions
+12 -2
View File
@@ -15,6 +15,16 @@
#include "ViewFactory.h"
#include "logging.h"
namespace
{
template <class Container>
void reverseErase(Container & container)
{
while(!container.empty())
container.pop_back();
}
} // namespace
ComponentManager::ComponentManager(const ViewFactory* viewFactory, StorageAccess* storageAccess)
: m_componentFactory(viewFactory, storageAccess)
{
@@ -23,8 +33,8 @@ ComponentManager::ComponentManager(const ViewFactory* viewFactory, StorageAccess
void ComponentManager::clear()
{
m_dialogViews.clear();
m_components.clear();
m_singleViews.clear();
reverseErase(m_components);
reverseErase(m_singleViews);
}
void ComponentManager::setupMain(ViewLayout* viewLayout, Id appId)
+1
View File
@@ -3,6 +3,7 @@
#include <typeinfo>
#include <vector>
#include <string>
#include "TokenComponent.h"
#include "types.h"
@@ -2,8 +2,8 @@
#define CODEBLOCKS_COMPILER_H
#include <memory>
#include <set>
#include <vector>
#include <string>
class TiXmlElement;