diff --git a/src/gui/qt/gametable/gametableimpl.cpp b/src/gui/qt/gametable/gametableimpl.cpp index 89389135..90cab45b 100755 --- a/src/gui/qt/gametable/gametableimpl.cpp +++ b/src/gui/qt/gametable/gametableimpl.cpp @@ -687,6 +687,10 @@ void gameTableImpl::initGui(int speed) userWidgetsArray[i]->show(); } + //set minimum gui speed to prevent gui lags on fast inet games + if( myStartWindow->getSession()->isNetworkClientRunning() ) { horizontalSlider_speed->setMinimum(speed); } + else { horizontalSlider_speed->setMinimum(1); } + //set speeds for local game and for first network game if( !myStartWindow->getSession()->isNetworkClientRunning() || (myStartWindow->getSession()->isNetworkClientRunning() && !myStartWindow->getSession()->getCurrentGame()) ) { diff --git a/src/net/common/clientthread.cpp b/src/net/common/clientthread.cpp index 1ccf321d..cf1ef6f7 100644 --- a/src/net/common/clientthread.cpp +++ b/src/net/common/clientthread.cpp @@ -521,8 +521,12 @@ ClientThread::InitGame() if (GetPlayerDataList().size() != (unsigned)GetStartData().numberOfPlayers) throw ClientException(__FILE__, __LINE__, ERR_NET_INVALID_PLAYER_COUNT, 0); m_game.reset(new Game(&m_gui, factory, GetPlayerDataList(), GetGameData(), GetStartData(), m_curGameNum++)); - // Initialize GUI speed. - GetGui().initGui(GetGameData().guiSpeed); + // Initialize Minimum GUI speed. + int minimumGuiSpeed = 1; + if(GetGameData().delayBetweenHandsSec < 11) { + minimumGuiSpeed = 12-GetGameData().delayBetweenHandsSec; + } + GetGui().initGui(minimumGuiSpeed); // Signal start of game to GUI. GetCallback().SignalNetClientGameStart(m_game); }