diff options
Diffstat (limited to 'protocols/Xfire/src')
| -rw-r--r-- | protocols/Xfire/src/Xfire_avatar_loader.cpp | 9 | ||||
| -rw-r--r-- | protocols/Xfire/src/Xfire_avatar_loader.h | 2 | ||||
| -rw-r--r-- | protocols/Xfire/src/Xfire_gamelist.cpp | 6 | ||||
| -rw-r--r-- | protocols/Xfire/src/Xfire_gamelist.h | 2 | ||||
| -rw-r--r-- | protocols/Xfire/src/main.cpp | 33 | 
5 files changed, 13 insertions, 39 deletions
diff --git a/protocols/Xfire/src/Xfire_avatar_loader.cpp b/protocols/Xfire/src/Xfire_avatar_loader.cpp index 4ace311827..92a84ef978 100644 --- a/protocols/Xfire/src/Xfire_avatar_loader.cpp +++ b/protocols/Xfire/src/Xfire_avatar_loader.cpp @@ -4,17 +4,11 @@  Xfire_avatar_loader::Xfire_avatar_loader(xfirelib::Client* client) {  	threadrunning = FALSE;  	this->client = client; -	InitializeCriticalSection(&this->avatarMutex);  }  Xfire_avatar_loader::~Xfire_avatar_loader() {  	//liste leeren, damit der laufende thread abgebrochen wird  	list.clear(); -	//warten bis der thread geschlossen wurde -	EnterCriticalSection(&this->avatarMutex); -	LeaveCriticalSection(&this->avatarMutex); -	//critical section entfernen -	DeleteCriticalSection(&this->avatarMutex);  }  void Xfire_avatar_loader::loadThread(void *arg) { @@ -24,7 +18,7 @@ void Xfire_avatar_loader::loadThread(void *arg) {  	if (!loader)  		return; -	EnterCriticalSection(&loader->avatarMutex); +	mir_cslock lck(loader->avatarMutex);  	loader->threadrunning = TRUE;  	while (1){ @@ -56,7 +50,6 @@ void Xfire_avatar_loader::loadThread(void *arg) {  	}  	loader->threadrunning = FALSE; -	LeaveCriticalSection(&loader->avatarMutex);  	return;  } diff --git a/protocols/Xfire/src/Xfire_avatar_loader.h b/protocols/Xfire/src/Xfire_avatar_loader.h index 3a7419f688..c906e26bf1 100644 --- a/protocols/Xfire/src/Xfire_avatar_loader.h +++ b/protocols/Xfire/src/Xfire_avatar_loader.h @@ -46,7 +46,7 @@ class Xfire_avatar_loader : public Xfire_base {  private:
  	static void loadThread(LPVOID lparam);
  	xfirelib::Client *client;
 -	CRITICAL_SECTION avatarMutex;
 +	mir_cs avatarMutex;
  public:
  	vector<Xfire_avatar_process> list;
  	BOOL threadrunning;
 diff --git a/protocols/Xfire/src/Xfire_gamelist.cpp b/protocols/Xfire/src/Xfire_gamelist.cpp index 728c9c7bb9..4e98b8e381 100644 --- a/protocols/Xfire/src/Xfire_gamelist.cpp +++ b/protocols/Xfire/src/Xfire_gamelist.cpp @@ -52,7 +52,6 @@ Xfire_gamelist::Xfire_gamelist()  {
  	nextgameid = 0;
  	ingame = FALSE;
 -	InitializeCriticalSection(&gamlistMutex);
  }
  //dekonstruktor
 @@ -62,7 +61,6 @@ Xfire_gamelist::~Xfire_gamelist() {  		if (game) delete game;
  	}
  	gamelist.clear();
 -	DeleteCriticalSection(&gamlistMutex);
  }
  //hole das nächste game
 @@ -97,9 +95,7 @@ BOOL Xfire_gamelist::getnextGame(Xfire_game**currentgame)  void Xfire_gamelist::Block(BOOL block)
  {
  	if (block)
 -		EnterCriticalSection(&gamlistMutex);
 -	else
 -		LeaveCriticalSection(&gamlistMutex);
 +		mir_cslock lck(gamlistMutex);
  }
  //fügt simple ein gameobject in den vector ein
 diff --git a/protocols/Xfire/src/Xfire_gamelist.h b/protocols/Xfire/src/Xfire_gamelist.h index 3cdf8eb9a9..e6e86d93ee 100644 --- a/protocols/Xfire/src/Xfire_gamelist.h +++ b/protocols/Xfire/src/Xfire_gamelist.h @@ -44,7 +44,7 @@ private:  	HANDLE dummymenuitem;
  	unsigned int nextgameid;
  	BOOL ingame;
 -	CRITICAL_SECTION gamlistMutex;
 +	mir_cs gamlistMutex;
  	void removeDummyMenuItem();
  	void createDummyMenuItem();
 diff --git a/protocols/Xfire/src/main.cpp b/protocols/Xfire/src/main.cpp index 1fa30287c6..14f8e7200a 100644 --- a/protocols/Xfire/src/main.cpp +++ b/protocols/Xfire/src/main.cpp @@ -108,9 +108,9 @@ ULONG_PTR           gdiplusToken;  xfire_prefitem xfireconfig[XFIRE_RECVPREFSPACKET_MAXCONFIGS];
  extern xfireconfigitem xfireconfigitems[XFIRE_RECVPREFSPACKET_SUPPORTEDONFIGS];
 -CRITICAL_SECTION modeMsgsMutex;
 -CRITICAL_SECTION avatarMutex;
 -CRITICAL_SECTION connectingMutex;
 +mir_cs modeMsgsMutex;
 +mir_cs avatarMutex;
 +mir_cs connectingMutex;
  DWORD pid = NULL; //processid des gefunden spiels
  DWORD ts2pid = NULL; // processid vom teamspeak/ventrilo
 @@ -768,10 +768,6 @@ extern "C" __declspec(dllexport) int  Unload(void)  	pthread_win32_process_detach_np ();
  #endif
 -	DeleteCriticalSection(&modeMsgsMutex);
 -	DeleteCriticalSection(&connectingMutex);
 -	DeleteCriticalSection(&avatarMutex);
 -
  	Gdiplus::GdiplusShutdown(gdiplusToken);
  	return 0;
 @@ -802,7 +798,7 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID lpvReserved)  //suche nach ini und danach starte gamedetection thread
  void StartIniUpdateAndDetection(LPVOID dummy)
  {
 -	EnterCriticalSection(&connectingMutex);
 +	mir_cslock lck(connectingMutex);
  	//ini/ico updater, nur wenn aktiv
  	if (db_get_b(NULL, protocolname, "autoiniupdate", 0))
 @@ -816,8 +812,6 @@ void StartIniUpdateAndDetection(LPVOID dummy)  #else
  	mir_forkthread(inigamedetectiont, NULL);
  #endif
 -
 -	LeaveCriticalSection(&connectingMutex);
  }
  INT_PTR UrlCall(WPARAM wparam, LPARAM lparam) {
 @@ -1028,10 +1022,6 @@ extern "C" __declspec(dllexport) int  Load(void)  {
  	mir_getLP(&pluginInfo);
 -	InitializeCriticalSection(&modeMsgsMutex);
 -	InitializeCriticalSection(&connectingMutex);
 -	InitializeCriticalSection(&avatarMutex);
 -
  	Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
  	//keine protoversion in der db, dann wohl der erste start von xfire
 @@ -1434,13 +1424,13 @@ static void ConnectingThread(LPVOID params)  {
  	WPARAM wParam = (WPARAM)params;
 -	EnterCriticalSection(&connectingMutex);
 +	mir_cslock lck(connectingMutex);
  	if (myClient != NULL&&myClient->client != NULL)
  		myClient->run();
  	else
  	{
 -		EnterCriticalSection(&connectingMutex);
 +		mir_cslock lck(connectingMutex);
  		return;
  	}
 @@ -1459,8 +1449,6 @@ static void ConnectingThread(LPVOID params)  	bpStatus = wParam;
  	ProtoBroadcastAck(protocolname, NULL, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)oldStatus, wParam);
 -
 -	LeaveCriticalSection(&connectingMutex);
  }
  //=======================================================
 @@ -1769,10 +1757,7 @@ void SetAvatar2(void *arg) {  }
  void SetAvatar(void *arg)
 -//void SetAvatar(MCONTACT hContact, char* username)
  {
 -	//EnterCriticalSection(&avatarMutex);
 -	//WaitForSingleObject(hMutex, INFINITE);
  	static int lasttime = 0;
  	int sleep = db_get_w(NULL, protocolname, "avatarloadlatency", 250);
 @@ -3135,8 +3120,9 @@ void CreateGroup(char*grpn, char*field) {  }
 -INT_PTR SetAwayMsg(WPARAM wParam, LPARAM lParam) {
 -	EnterCriticalSection(&modeMsgsMutex);
 +INT_PTR SetAwayMsg(WPARAM wParam, LPARAM lParam)
 +{
 +	mir_cslock lck(modeMsgsMutex);
  	if ((char*)lParam == NULL)
  	{
  		if (wParam == ID_STATUS_ONLINE)
 @@ -3174,7 +3160,6 @@ INT_PTR SetAwayMsg(WPARAM wParam, LPARAM lParam) {  				myClient->Status(statusmessage[1]);
  		}
  	}
 -	LeaveCriticalSection(&modeMsgsMutex);
  	return 0;
  }
  | 
