Browse Source

Fix possible thread race on accessing GuiHandler from server handler
thread without acquiring lock

Ivan Savenko 2 years ago
parent
commit
626664b8f6
1 changed files with 2 additions and 0 deletions
  1. 2 0
      client/CServerHandler.cpp

+ 2 - 0
client/CServerHandler.cpp

@@ -88,6 +88,8 @@ template<typename T> class CApplyOnLobby : public CBaseForLobbyApply
 public:
 	bool applyOnLobbyHandler(CServerHandler * handler, void * pack) const override
 	{
+		boost::unique_lock<boost::recursive_mutex> un(*CPlayerInterface::pim);
+
 		T * ptr = static_cast<T *>(pack);
 		ApplyOnLobbyHandlerNetPackVisitor visitor(*handler);