Jelajahi Sumber

simplify CGuiHandler::handleEvents()

Threre is no need to allow (and I doubt is was in fact possible with old code) new events to arrive during processing events. Let them to be processed in next frame.
AlexVinS 11 tahun lalu
induk
melakukan
c2dd696e96
1 mengubah file dengan 4 tambahan dan 12 penghapusan
  1. 4 12
      client/gui/CGuiHandler.cpp

+ 4 - 12
client/gui/CGuiHandler.cpp

@@ -169,19 +169,11 @@ void CGuiHandler::updateTime()
 
 void CGuiHandler::handleEvents()
 {
-	while(true)
+	boost::unique_lock<boost::mutex> lock(eventsM);
+	while(!events.empty())
 	{
-		SDL_Event ev;
-		boost::unique_lock<boost::mutex> lock(eventsM);
-		if(events.empty())
-		{
-			return;
-		}
-		else
-		{
-			ev = events.front();
-			events.pop();
-		}
+		SDL_Event ev = events.front();
+		events.pop();		
 		this->handleEvent(&ev);
 	}
 }