From 0ae75f2a4e3107271924311b93327ff4b6c24e8c Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Sun, 22 Mar 2015 21:33:09 +0100 Subject: [PATCH] Player: Fix a deadlock triggered by previous commit 0e5e49736c0a5fa29bca257bafc02d7c7a7171c9 --- src/player.cpp | 2 ++ src/player.h | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/player.cpp b/src/player.cpp index 88c5634e3..08cb24248 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -20,6 +20,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "player.h" #include +#include "jthread/jmutexautolock.h" #include "util/numeric.h" #include "hud.h" #include "constants.h" @@ -241,6 +242,7 @@ void Player::deSerialize(std::istream &is, std::string playername) u32 Player::addHud(HudElement *toadd) { JMutexAutoLock lock(m_mutex); + u32 id = getFreeHudID(); if (id < hud.size()) diff --git a/src/player.h b/src/player.h index f38bd5615..d4698ea4a 100644 --- a/src/player.h +++ b/src/player.h @@ -23,7 +23,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irrlichttypes_bloated.h" #include "inventory.h" #include "constants.h" // BS -#include "jthread/jmutexautolock.h" +#include "jthread/jmutex.h" #include #define PLAYERNAME_SIZE 20 @@ -204,7 +204,6 @@ public: } u32 getFreeHudID() { - JMutexAutoLock lock(m_mutex); size_t size = hud.size(); for (size_t i = 0; i != size; i++) { if (!hud[i])