From c14bb9470b6258773d7ed88f051a67ef712e4f54 Mon Sep 17 00:00:00 2001 From: lotodore Date: Tue, 11 Dec 2007 20:40:39 +0000 Subject: [PATCH] More utf8 related fixes (some issues remain). --- src/net/clientthread.h | 2 ++ src/net/common/clientthread.cpp | 5 ++++- src/session.cpp | 7 ++++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/net/clientthread.h b/src/net/clientthread.h index dbb3cc3a..f26eab91 100644 --- a/src/net/clientthread.h +++ b/src/net/clientthread.h @@ -36,6 +36,7 @@ class ClientSenderCallback; class Game; class NetPacket; class AvatarManager; +class QtToolsInterface; class ClientThread : public Thread { @@ -168,6 +169,7 @@ private: mutable boost::mutex m_gameInfoMapMutex; boost::shared_ptr m_game; + boost::shared_ptr myQtToolsInterface; PlayerInfoMap m_playerInfoMap; mutable boost::mutex m_playerInfoMapMutex; diff --git a/src/net/common/clientthread.cpp b/src/net/common/clientthread.cpp index 9efe24e0..913f8c0f 100644 --- a/src/net/common/clientthread.cpp +++ b/src/net/common/clientthread.cpp @@ -28,9 +28,11 @@ #include #include #include +#include #include #include +#include #include using namespace std; @@ -62,6 +64,7 @@ ClientThread::ClientThread(GuiInterface &gui, AvatarManager &avatarManager) m_senderCallback.reset(new ClientSenderCallback(*this)); m_sender.reset(new SenderThread(GetSenderCallback())); m_receiver.reset(new ReceiverHelper); + myQtToolsInterface.reset(CreateQtToolsWrapper()); } ClientThread::~ClientThread() @@ -451,7 +454,7 @@ ClientThread::SetPlayerInfo(unsigned id, const PlayerInfo &info) string avatarFile; if (GetAvatarManager().GetAvatarFileName(info.avatar, avatarFile)) { - playerData->SetAvatarFile(avatarFile); + playerData->SetAvatarFile(myQtToolsInterface->stringToUtf8(avatarFile)); } } } diff --git a/src/session.cpp b/src/session.cpp index 62c129af..85c7960a 100755 --- a/src/session.cpp +++ b/src/session.cpp @@ -427,7 +427,12 @@ bool Session::getAvatarFile(const MD5Buf &avatarMD5, std::string &fileName) { bool retVal = false; if (myAvatarManager.get()) - retVal = myAvatarManager->GetAvatarFileName(avatarMD5, fileName); + { + string tmpFileName; + retVal = myAvatarManager->GetAvatarFileName(avatarMD5, tmpFileName); + if (retVal) + fileName = myQtToolsInterface->stringToUtf8(tmpFileName); + } return retVal; }