summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2015-04-25 18:58:11 +0200
committerMattes D <github@xoft.cz>2015-04-25 18:58:11 +0200
commit80baa2b0568e38643dada06c684eff45a553dd96 (patch)
tree91f972f29ef7aa38ceba17e22ae3e81c6c998857
parentPlugin removes its command registrations and webtabs when unloaded. (diff)
parentEliminate race condition in cRoot::FindAndDoWithPlayer (diff)
downloadcuberite-80baa2b0568e38643dada06c684eff45a553dd96.tar
cuberite-80baa2b0568e38643dada06c684eff45a553dd96.tar.gz
cuberite-80baa2b0568e38643dada06c684eff45a553dd96.tar.bz2
cuberite-80baa2b0568e38643dada06c684eff45a553dd96.tar.lz
cuberite-80baa2b0568e38643dada06c684eff45a553dd96.tar.xz
cuberite-80baa2b0568e38643dada06c684eff45a553dd96.tar.zst
cuberite-80baa2b0568e38643dada06c684eff45a553dd96.zip
-rw-r--r--src/Root.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Root.cpp b/src/Root.cpp
index 690bd7357..1379b01a2 100644
--- a/src/Root.cpp
+++ b/src/Root.cpp
@@ -607,7 +607,7 @@ bool cRoot::FindAndDoWithPlayer(const AString & a_PlayerName, cPlayerListCallbac
size_t Rating = RateCompareString (m_PlayerName, a_pPlayer->GetName());
if ((Rating > 0) && (Rating >= m_BestRating))
{
- m_BestMatch = a_pPlayer;
+ m_BestMatch = a_pPlayer->GetName();
if (Rating > m_BestRating)
{
m_NumMatches = 0;
@@ -627,18 +627,18 @@ bool cRoot::FindAndDoWithPlayer(const AString & a_PlayerName, cPlayerListCallbac
m_BestRating(0),
m_NameLength(a_PlayerName.length()),
m_PlayerName(a_PlayerName),
- m_BestMatch(nullptr),
+ m_BestMatch(),
m_NumMatches(0)
{}
- cPlayer * m_BestMatch;
+ AString m_BestMatch;
unsigned m_NumMatches;
} Callback (a_PlayerName);
ForEachPlayer(Callback);
if (Callback.m_NumMatches == 1)
{
- return a_Callback.Item(Callback.m_BestMatch);
+ return DoWithPlayer(Callback.m_BestMatch, a_Callback);
}
return false;
}