diff --git a/src/gui/generic/serverguiwrapper.cpp b/src/gui/generic/serverguiwrapper.cpp
index 49a4a8b8..8dbe6ca0 100644
--- a/src/gui/generic/serverguiwrapper.cpp
+++ b/src/gui/generic/serverguiwrapper.cpp
@@ -100,6 +100,7 @@ void ServerGuiWrapper::logNewGameHandMsg(int gameID, int handID) {}
void ServerGuiWrapper::logPlayerWinsMsg(int playerID, int pot) {}
void ServerGuiWrapper::logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4, int card5) {}
void ServerGuiWrapper::logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt, std::string showHas) {}
+void ServerGuiWrapper::logPlayerWinGame(std::string playerName, int gameID) {}
void ServerGuiWrapper::SignalNetClientConnect(int actionID) { if (myClientcb) myClientcb->SignalNetClientConnect(actionID); }
void ServerGuiWrapper::SignalNetClientGameInfo(int actionID) { if (myClientcb) myClientcb->SignalNetClientGameInfo(actionID); }
diff --git a/src/gui/generic/serverguiwrapper.h b/src/gui/generic/serverguiwrapper.h
index f508e1e8..ed24cf72 100644
--- a/src/gui/generic/serverguiwrapper.h
+++ b/src/gui/generic/serverguiwrapper.h
@@ -84,6 +84,7 @@ public:
void logPlayerWinsMsg(int playerID, int pot);
void logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4 = -1, int card5 = -1) ;
void logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt = -1, std::string showHas = "shows") ;
+ void logPlayerWinGame(std::string playerName, int gameID);
void SignalNetClientConnect(int actionID);
void SignalNetClientGameInfo(int actionID);
diff --git a/src/gui/guiinterface.h b/src/gui/guiinterface.h
index ab2b4d4c..00b992fc 100644
--- a/src/gui/guiinterface.h
+++ b/src/gui/guiinterface.h
@@ -94,6 +94,7 @@ public:
virtual void logPlayerWinsMsg(int playerID, int pot) = 0;
virtual void logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4 = -1, int card5 = -1) = 0;
virtual void logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt = -1, std::string showHas = "shows") = 0;
+ virtual void logPlayerWinGame(std::string playerName, int gameID) =0;
};
#endif
diff --git a/src/gui/qt/guiwrapper.cpp b/src/gui/qt/guiwrapper.cpp
index 67696a49..55609299 100644
--- a/src/gui/qt/guiwrapper.cpp
+++ b/src/gui/qt/guiwrapper.cpp
@@ -102,6 +102,7 @@ void GuiWrapper::logNewGameHandMsg(int gameID, int handID) { myLog->signalLogNew
void GuiWrapper::logPlayerWinsMsg(int playerID, int pot) { myLog->signalLogPlayerWinsMsg(playerID, pot); }
void GuiWrapper::logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4, int card5) { myLog->signalLogDealBoardCardsMsg(roundID, card1, card2, card3, card4, card5); }
void GuiWrapper::logFlipHoleCardsMsg(string playerName, int card1, int card2, int cardsValueInt, string showHas) { myLog->signalLogFlipHoleCardsMsg(QString::fromUtf8(playerName.c_str()), card1, card2, cardsValueInt, QString::fromUtf8(showHas.c_str())); }
+void GuiWrapper::logPlayerWinGame(std::string playerName, int gameID) { myLog->signalLogPlayerWinGame(QString::fromUtf8(playerName.c_str()), gameID); }
void GuiWrapper::SignalNetClientConnect(int actionID) { myW->signalNetClientConnect(actionID); }
void GuiWrapper::SignalNetClientGameInfo(int actionID) { myW->signalNetClientGameInfo(actionID); }
diff --git a/src/gui/qt/guiwrapper.h b/src/gui/qt/guiwrapper.h
index 077d413b..4e46196a 100644
--- a/src/gui/qt/guiwrapper.h
+++ b/src/gui/qt/guiwrapper.h
@@ -94,6 +94,7 @@ public:
void logPlayerWinsMsg(int playerID, int pot);
void logDealBoardCardsMsg(int roundID, int card1, int card2, int card3, int card4 = -1, int card5 = -1);
void logFlipHoleCardsMsg(std::string playerName, int card1, int card2, int cardsValueInt = -1, std::string showHas = "shows");
+ void logPlayerWinGame(std::string playerName, int gameID);
void SignalNetClientConnect(int actionID);
void SignalNetClientGameInfo(int actionID);
diff --git a/src/gui/qt/mainwindow/log/log.cpp b/src/gui/qt/mainwindow/log/log.cpp
index 027e2fd4..e3bd8c12 100644
--- a/src/gui/qt/mainwindow/log/log.cpp
+++ b/src/gui/qt/mainwindow/log/log.cpp
@@ -460,11 +460,11 @@ void Log::logPlayerLeftMsg(QString playerName) {
void Log::logPlayerWinGame(QString playerName, int gameID) {
- myW->textBrowser_Log->append( ""+playerName+" wins game no. " + QString::number(gameID,10) +"!");
+ myW->textBrowser_Log->append( ""+playerName+" wins game " + QString::number(gameID,10) +"!");
if(myConfig->readConfigInt("LogOnOff")) {
- logFileStreamString += ""+playerName+" wins game no. " + QString::number(gameID,10) +"!
\n";
+ logFileStreamString += ""+playerName+" wins game " + QString::number(gameID,10) +"!
\n";
if(myConfig->readConfigInt("LogInterval") == 0) {
writeLogFileStream(logFileStreamString);
diff --git a/src/net/common/clientstate.cpp b/src/net/common/clientstate.cpp
index f69d5de6..1d7a7397 100644
--- a/src/net/common/clientstate.cpp
+++ b/src/net/common/clientstate.cpp
@@ -570,9 +570,19 @@ ClientStateWaitHand::InternalProcess(ClientThread &client, boost::shared_ptrToNetPacketEndOfGame())
{
- client.GetCallback().SignalNetClientWaitDialog();
- client.SetState(ClientStateWaitGame::Instance());
- retVal = MSG_NET_GAME_CLIENT_END;
+ boost::shared_ptr curGame = client.GetGame();
+ if (curGame.get())
+ {
+ NetPacketEndOfGame::Data endData;
+ packet->ToNetPacketEndOfGame()->GetData(endData);
+ PlayerInterface *tmpPlayer = curGame->getPlayerByUniqueId(endData.winnerPlayerId);
+ if (!tmpPlayer)
+ throw ClientException(ERR_NET_UNKNOWN_PLAYER_ID, 0);
+ client.GetGui().logPlayerWinGame(tmpPlayer->getMyName(), curGame->getMyGameID());
+ client.GetCallback().SignalNetClientWaitDialog();
+ client.SetState(ClientStateWaitGame::Instance());
+ retVal = MSG_NET_GAME_CLIENT_END;
+ }
}
return MSG_SOCK_INTERNAL_PENDING;