summaryrefslogtreecommitdiff
path: root/src/nodedef.cpp
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2015-03-20 18:40:18 -0400
committerkwolekr <kwolekr@minetest.net>2015-03-20 18:41:26 -0400
commit26153bab7dbe57a0200949c9a121058150e67f6c (patch)
treecda3013a86b95c29779b977aa95c03e1fac4be00 /src/nodedef.cpp
parentd03c2999daafaff5b48948bb97a5854f5fb56484 (diff)
downloadminetest-26153bab7dbe57a0200949c9a121058150e67f6c.tar.gz
minetest-26153bab7dbe57a0200949c9a121058150e67f6c.tar.bz2
minetest-26153bab7dbe57a0200949c9a121058150e67f6c.zip
Revert "Fix issue #2441: crash on respawn, since a conversion std::list to std::vector on Environment.cpp"
This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver list clearing
Diffstat (limited to 'src/nodedef.cpp')
-rw-r--r--src/nodedef.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/nodedef.cpp b/src/nodedef.cpp
index 4aee1b1c6..0654f66c5 100644
--- a/src/nodedef.cpp
+++ b/src/nodedef.cpp
@@ -445,7 +445,7 @@ private:
content_t m_next_id;
// List of node strings and node resolver callbacks to perform
- std::vector<NodeResolveInfo *> m_pending_node_lookups;
+ std::list<NodeResolveInfo *> m_pending_node_lookups;
// True when all nodes have been registered
bool m_node_registration_complete;
@@ -481,7 +481,7 @@ void CNodeDefManager::clear()
m_next_id = 0;
m_node_registration_complete = false;
- for (std::vector<NodeResolveInfo *>::iterator
+ for (std::list<NodeResolveInfo *>::iterator
it = m_pending_node_lookups.begin();
it != m_pending_node_lookups.end();
++it)
@@ -1320,7 +1320,7 @@ void CNodeDefManager::pendNodeResolve(NodeResolveInfo *nri)
void CNodeDefManager::cancelNodeResolve(NodeResolver *resolver)
{
- for (std::vector<NodeResolveInfo *>::iterator
+ for (std::list<NodeResolveInfo *>::iterator
it = m_pending_node_lookups.begin();
it != m_pending_node_lookups.end();
++it) {
@@ -1337,7 +1337,7 @@ void CNodeDefManager::runNodeResolverCallbacks()
{
while (!m_pending_node_lookups.empty()) {
NodeResolveInfo *nri = m_pending_node_lookups.front();
- m_pending_node_lookups.erase(m_pending_node_lookups.begin());
+ m_pending_node_lookups.pop_front();
nri->resolver->resolveNodeNames(nri);
nri->resolver->m_lookup_done = true;
delete nri;
@@ -1356,7 +1356,7 @@ bool CNodeDefManager::getIdFromResolveInfo(NodeResolveInfo *nri,
content_t c;
std::string name = nri->nodenames.front();
- nri->nodenames.erase(nri->nodenames.begin());
+ nri->nodenames.pop_front();
bool success = getId(name, c);
if (!success && node_alt != "") {
@@ -1396,7 +1396,7 @@ bool CNodeDefManager::getIdsFromResolveInfo(NodeResolveInfo *nri,
content_t c;
std::string name = nri->nodenames.front();
- nri->nodenames.erase(nri->nodenames.begin());
+ nri->nodenames.pop_front();
if (name.substr(0,6) != "group:") {
if (getId(name, c)) {