summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2017-04-22 00:36:59 +0200
committerLoic Blot <loic.blot@unix-experience.fr>2017-04-22 00:36:59 +0200
commit4f4e2e3e838fc640e45714d4666bc5d6b0aa8a25 (patch)
treeb3a363bae783e989865dbcd29ce60e987fc360f0
parent113c85a66a5b23c8c47f1bdb435dd4b27884ed54 (diff)
downloadminetest-4f4e2e3e838fc640e45714d4666bc5d6b0aa8a25.tar.gz
minetest-4f4e2e3e838fc640e45714d4666bc5d6b0aa8a25.tar.bz2
minetest-4f4e2e3e838fc640e45714d4666bc5d6b0aa8a25.zip
Revert a const ref on update texture
if mod is a reference to a class member a variable swap breaks. We should find a way to keep this const ref if possible. Added a comment about this in header
-rw-r--r--src/content_cao.cpp2
-rw-r--r--src/content_cao.h4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/content_cao.cpp b/src/content_cao.cpp
index 3aa3bad97..2a4acd373 100644
--- a/src/content_cao.cpp
+++ b/src/content_cao.cpp
@@ -1313,7 +1313,7 @@ void GenericCAO::updateTexturePos()
}
}
-void GenericCAO::updateTextures(const std::string &mod)
+void GenericCAO::updateTextures(std::string mod)
{
ITextureSource *tsrc = m_client->tsrc();
diff --git a/src/content_cao.h b/src/content_cao.h
index a0601d692..3be753529 100644
--- a/src/content_cao.h
+++ b/src/content_cao.h
@@ -200,7 +200,9 @@ public:
void updateTexturePos();
- void updateTextures(const std::string &mod);
+ // std::string copy is mandatory as mod can be a class member and there is a swap
+ // on those class members
+ void updateTextures(std::string mod);
void updateAnimation();