summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-02-11 21:43:00 +0300
committerAndrei Karas <akaras@inbox.ru>2016-02-11 21:51:42 +0300
commit114db227e97285dbce0edc4a3b9df4bce530f3de (patch)
tree54ba3fbab3dc20078cbbb2f612c4dd5cb08050bd
parent201a46269567e69151572e65f4f5fc05376f7437 (diff)
downloadmv-114db227e97285dbce0edc4a3b9df4bce530f3de.tar.gz
mv-114db227e97285dbce0edc4a3b9df4bce530f3de.tar.bz2
mv-114db227e97285dbce0edc4a3b9df4bce530f3de.tar.xz
mv-114db227e97285dbce0edc4a3b9df4bce530f3de.zip
Fix crash on exit with enables onscreen buttons.
-rw-r--r--src/client.cpp3
-rw-r--r--src/input/touch/touchmanager.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/client.cpp b/src/client.cpp
index 9a2494bc0..bf1ccd3f5 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -628,6 +628,8 @@ void Client::gameClear()
if (logger)
logger->log1("Quitting3");
+ touchManager.clear();
+
graphicsManager.deleteRenderers();
if (logger)
@@ -648,7 +650,6 @@ void Client::gameClear()
ActorSprite::unload();
- touchManager.clear();
ResourceManager::deleteInstance();
if (logger)
diff --git a/src/input/touch/touchmanager.cpp b/src/input/touch/touchmanager.cpp
index 5c7de8189..85dce0f9a 100644
--- a/src/input/touch/touchmanager.cpp
+++ b/src/input/touch/touchmanager.cpp
@@ -74,7 +74,6 @@ TouchManager::TouchManager() :
TouchManager::~TouchManager()
{
clear();
- delete2(mVertexes);
CHECKLISTENERS
}
@@ -191,6 +190,7 @@ void TouchManager::clear() restrict2
FOR_EACH (TouchItemVectorCIter, it, mObjects)
unload(*it);
mObjects.clear();
+ delete2(mVertexes);
mRedraw = true;
}