ソースを参照

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 年 前
コミット
c2dd696e96
1 ファイル変更4 行追加12 行削除
  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);
 	}
 }