diff --git a/source/glest_game/gui/gui.cpp b/source/glest_game/gui/gui.cpp index 1f0ed0088..08ed14be5 100644 --- a/source/glest_game/gui/gui.cpp +++ b/source/glest_game/gui/gui.cpp @@ -96,6 +96,7 @@ void SelectionQuad::disable(){ Gui::Gui(){ if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] START\n",__FILE__,__FUNCTION__); + lastGroupRecall = -1; posObjWorld= Vec2i(54, 14); validPosObjWorld= false; activeCommandType= NULL; @@ -313,13 +314,16 @@ void Gui::groupKey(int groupIndex) { Config &config = Config::getInstance(); int recallGroupCenterCameraTimeout = config.getInt("RecallGroupCenterCameraTimeoutMilliseconds","1500"); - if(lastGroupRecallTime.getMillis() > 0 && lastGroupRecallTime.getMillis() <= recallGroupCenterCameraTimeout) { + if(lastGroupRecall == groupIndex && + lastGroupRecallTime.getMillis() > 0 && + lastGroupRecallTime.getMillis() <= recallGroupCenterCameraTimeout) { centerCameraOnSelection(); } else { selection.recallGroup(groupIndex); } lastGroupRecallTime.start(); + lastGroupRecall = groupIndex; } } diff --git a/source/glest_game/gui/gui.h b/source/glest_game/gui/gui.h index a8cab308c..642fd1d2a 100644 --- a/source/glest_game/gui/gui.h +++ b/source/glest_game/gui/gui.h @@ -133,6 +133,8 @@ private: int minQuadSize; Chrono lastGroupRecallTime; + int lastGroupRecall; + //states bool selectingBuilding; bool selectingPos;