aboutsummaryrefslogtreecommitdiff
path: root/src/gui/guiEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/guiEngine.cpp')
-rw-r--r--src/gui/guiEngine.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/gui/guiEngine.cpp b/src/gui/guiEngine.cpp
index 54157c792..941ebe754 100644
--- a/src/gui/guiEngine.cpp
+++ b/src/gui/guiEngine.cpp
@@ -38,10 +38,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "client/fontengine.h"
#include "client/guiscalingfilter.h"
#include "irrlicht_changes/static_text.h"
-
-#if ENABLE_GLES
#include "client/tile.h"
-#endif
/******************************************************************************/
@@ -59,11 +56,15 @@ void TextDestGuiEngine::gotText(const std::wstring &text)
/******************************************************************************/
MenuTextureSource::~MenuTextureSource()
{
- for (const std::string &texture_to_delete : m_to_delete) {
- const char *tname = texture_to_delete.c_str();
- video::ITexture *texture = m_driver->getTexture(tname);
- m_driver->removeTexture(texture);
+ u32 before = m_driver->getTextureCount();
+
+ for (const auto &it: m_to_delete) {
+ m_driver->removeTexture(it);
}
+ m_to_delete.clear();
+
+ infostream << "~MenuTextureSource() before cleanup: "<< before
+ << " after: " << m_driver->getTextureCount() << std::endl;
}
/******************************************************************************/
@@ -75,7 +76,7 @@ video::ITexture *MenuTextureSource::getTexture(const std::string &name, u32 *id)
if (name.empty())
return NULL;
-#if ENABLE_GLES
+ // return if already loaded
video::ITexture *retval = m_driver->findTexture(name.c_str());
if (retval)
return retval;
@@ -86,12 +87,11 @@ video::ITexture *MenuTextureSource::getTexture(const std::string &name, u32 *id)
image = Align2Npot2(image, m_driver);
retval = m_driver->addTexture(name.c_str(), image);
- m_to_delete.insert(name);
image->drop();
+
+ if (retval)
+ m_to_delete.push_back(retval);
return retval;
-#else
- return m_driver->getTexture(name.c_str());
-#endif
}
/******************************************************************************/