浏览代码

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);
 	}
 }