From: <arn...@us...> - 2006-07-23 09:31:48
|
Revision: 641 Author: arnetheduck Date: 2006-07-23 02:31:25 -0700 (Sun, 23 Jul 2006) ViewCVS: http://svn.sourceforge.net/dcplusplus/?rev=641&view=rev Log Message: ----------- Bug fixes Modified Paths: -------------- dcplusplus/trunk/Example.xml dcplusplus/trunk/changelog.txt dcplusplus/trunk/client/ConnectionManager.cpp dcplusplus/trunk/client/HashManager.cpp dcplusplus/trunk/client/NmdcHub.cpp dcplusplus/trunk/client/SSLSocket.cpp dcplusplus/trunk/client/SettingsManager.cpp dcplusplus/trunk/client/SettingsManager.h dcplusplus/trunk/client/Socket.cpp dcplusplus/trunk/client/StringDefs.cpp dcplusplus/trunk/client/StringDefs.h dcplusplus/trunk/windows/QueueFrame.cpp dcplusplus/trunk/windows/WinUtil.h Modified: dcplusplus/trunk/Example.xml =================================================================== --- dcplusplus/trunk/Example.xml 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/Example.xml 2006-07-23 09:31:25 UTC (rev 641) @@ -203,6 +203,7 @@ <String Name="LastHub">Hub (last seen on if offline)</String> <String Name="LastSeen">Time last seen</String> <String Name="Left">left</String> + <String Name="ListenerFailed">Listening socket failed (you need to restart DC++): </String> <String Name="Loading">Loading DC++, please wait...</String> <String Name="LookupAtBitzi">Lookup TTH at Bitzi.com</String> <String Name="Low">Low</String> Modified: dcplusplus/trunk/changelog.txt =================================================================== --- dcplusplus/trunk/changelog.txt 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/changelog.txt 2006-07-23 09:31:25 UTC (rev 641) @@ -6,6 +6,7 @@ * [NMDC] Fixed extra space in chat * [bug 395] Fixed password being blanked * [bug 419] Allowed changing case only when moving file in queue +* [bug 736] Fixed escaping of menu items -- 0.694 2006-07-10 -- * Fixed crash in certificates page Modified: dcplusplus/trunk/client/ConnectionManager.cpp =================================================================== --- dcplusplus/trunk/client/ConnectionManager.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/ConnectionManager.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -262,10 +262,14 @@ static const u_int32_t POLL_TIMEOUT = 250; int ConnectionManager::Server::run() throw() { - while(!die) { - if(sock.wait(POLL_TIMEOUT, Socket::WAIT_READ) == Socket::WAIT_READ) { - ConnectionManager::getInstance()->accept(sock, secure); + try { + while(!die) { + if(sock.wait(POLL_TIMEOUT, Socket::WAIT_CONNECT) == Socket::WAIT_CONNECT) { + ConnectionManager::getInstance()->accept(sock, secure); + } } + } catch(const Exception& e) { + LogManager::getInstance()->message(STRING(LISTENER_FAILED) + e.getError()); } return 0; } @@ -299,10 +303,6 @@ uc->setLastActivity(GET_TICK()); try { uc->accept(sock); - if(uc->isSecure() && !uc->isTrusted() && !BOOLSETTING(ALLOW_UNTRUSTED_CLIENTS)) { - putConnection(uc); - LogManager::getInstance()->message(STRING(CERTIFICATE_NOT_TRUSTED)); - } } catch(const Exception&) { putConnection(uc); delete uc; Modified: dcplusplus/trunk/client/HashManager.cpp =================================================================== --- dcplusplus/trunk/client/HashManager.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/HashManager.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -614,7 +614,7 @@ #ifdef _WIN32 TigerTree fastTTH(bs); tth = &fastTTH; - if(!virtualBuf || !fastHash(fname, buf, fastTTH, size, xcrc32)) { + if(!virtualBuf || !BOOLSETTING(FAST_HASH) || !fastHash(fname, buf, fastTTH, size, xcrc32)) { tth = &slowTTH; crc32 = CRC32Filter(); #endif Modified: dcplusplus/trunk/client/NmdcHub.cpp =================================================================== --- dcplusplus/trunk/client/NmdcHub.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/NmdcHub.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -677,7 +677,6 @@ OnlineUser* replyTo = findUser(rtNick); OnlineUser* from = findUser(fromNick); - OnlineUser& to = getUser(getMyNick()); string msg = param.substr(j + 2); if(replyTo == NULL || from == NULL) { @@ -701,6 +700,7 @@ from = findUser(fromNick); } + OnlineUser& to = getUser(getMyNick()); fire(ClientListener::PrivateMessage(), this, *from, to, *replyTo, unescape(msg)); } else if(cmd == "$GetPass") { OnlineUser& ou = getUser(getMyNick()); Modified: dcplusplus/trunk/client/SSLSocket.cpp =================================================================== --- dcplusplus/trunk/client/SSLSocket.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/SSLSocket.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -25,7 +25,6 @@ #include <openssl/ssl.h> - SSLSocket::SSLSocket(SSL_CTX* context) throw(SocketException) : ctx(context), ssl(0) { } Modified: dcplusplus/trunk/client/SettingsManager.cpp =================================================================== --- dcplusplus/trunk/client/SettingsManager.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/SettingsManager.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -75,7 +75,7 @@ "OpenWaitingUsers", "BoldWaitingUsers", "OpenSystemLog", "BoldSystemLog", "AutoRefreshTime", "UseTLS", "AutoSearchLimit", "AltSortOrder", "AutoKickNoFavs", "PromptPassword", "SpyFrameIgnoreTthSearches", "DontDlAlreadyQueued", "MaxCommandLength", "AllowUntrustedHubs", "AllowUntrustedClients", - "TLSPort", + "TLSPort", "FastHash", "SENTRY", // Int64 "TotalUpload", "TotalDownload", @@ -269,6 +269,7 @@ setDefault(MAX_COMMAND_LENGTH, 16*1024*1024); setDefault(ALLOW_UNTRUSTED_HUBS, true); setDefault(ALLOW_UNTRUSTED_CLIENTS, true); + setDefault(FAST_HASH, true); #ifdef _WIN32 setDefault(MAIN_WINDOW_STATE, SW_SHOWNORMAL); Modified: dcplusplus/trunk/client/SettingsManager.h =================================================================== --- dcplusplus/trunk/client/SettingsManager.h 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/SettingsManager.h 2006-07-23 09:31:25 UTC (rev 641) @@ -91,7 +91,7 @@ OPEN_WAITING_USERS, BOLD_WAITING_USERS, OPEN_SYSTEM_LOG, BOLD_SYSTEM_LOG, AUTO_REFRESH_TIME, USE_TLS, AUTO_SEARCH_LIMIT, ALT_SORT_ORDER, AUTO_KICK_NO_FAVS, PROMPT_PASSWORD, SPY_FRAME_IGNORE_TTH_SEARCHES, DONT_DL_ALREADY_QUEUED, MAX_COMMAND_LENGTH, ALLOW_UNTRUSTED_HUBS, ALLOW_UNTRUSTED_CLIENTS, - TLS_PORT, + TLS_PORT, FAST_HASH, INT_LAST }; enum Int64Setting { INT64_FIRST = INT_LAST + 1, Modified: dcplusplus/trunk/client/Socket.cpp =================================================================== --- dcplusplus/trunk/client/Socket.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/Socket.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -437,14 +437,18 @@ if(waitFor & WAIT_CONNECT) { dcassert(!(waitFor & WAIT_READ) && !(waitFor & WAIT_WRITE)); - FD_ZERO(&wfd); + FD_ZERO(&rfd); FD_ZERO(&efd); - FD_SET(sock, &wfd); + FD_SET(sock, &rfd); FD_SET(sock, &efd); - check(select((int)(sock+1), NULL, &wfd, &efd, &tv)); + check(select((int)(sock+1), &rfd, 0, &efd, &tv)); - if(FD_ISSET(sock, &wfd) || FD_ISSET(sock, &efd)) { + if(FD_ISSET(sock, &rfd)) { + return WAIT_CONNECT; + } + + if(FD_ISSET(sock, &efd)) { int y = 0; socklen_t z = sizeof(y); check(getsockopt(sock, SOL_SOCKET, SO_ERROR, (char*)&y, &z)); Modified: dcplusplus/trunk/client/StringDefs.cpp =================================================================== --- dcplusplus/trunk/client/StringDefs.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/StringDefs.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -204,6 +204,7 @@ "Hub (last seen on if offline)", "Time last seen", "left", +"Listening socket failed (you need to restart DC++): ", "Loading DC++, please wait...", "Lookup TTH at Bitzi.com", "Low", @@ -828,6 +829,7 @@ "LastHub", "LastSeen", "Left", +"ListenerFailed", "Loading", "LookupAtBitzi", "Low", Modified: dcplusplus/trunk/client/StringDefs.h =================================================================== --- dcplusplus/trunk/client/StringDefs.h 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/client/StringDefs.h 2006-07-23 09:31:25 UTC (rev 641) @@ -207,6 +207,7 @@ LAST_HUB, // "Hub (last seen on if offline)" LAST_SEEN, // "Time last seen" LEFT, // "left" + LISTENER_FAILED, // "Listening socket failed (you need to restart DC++): " LOADING, // "Loading DC++, please wait..." LOOKUP_AT_BITZI, // "Lookup TTH at Bitzi.com" LOW, // "Low" Modified: dcplusplus/trunk/windows/QueueFrame.cpp =================================================================== --- dcplusplus/trunk/windows/QueueFrame.cpp 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/windows/QueueFrame.cpp 2006-07-23 09:31:25 UTC (rev 641) @@ -775,7 +775,7 @@ int pmItems = 0; QueueItemInfo::SourceIter i; for(i = ii->getSources().begin(); i != ii->getSources().end(); ++i) { - tstring nick = WinUtil::getNicks(i->getUser()); + tstring nick = WinUtil::escapeMenu(WinUtil::getNicks(i->getUser())); mi.fMask = MIIM_ID | MIIM_TYPE | MIIM_DATA; mi.fType = MFT_STRING; mi.dwTypeData = (LPTSTR)nick.c_str(); Modified: dcplusplus/trunk/windows/WinUtil.h =================================================================== --- dcplusplus/trunk/windows/WinUtil.h 2006-07-12 20:12:22 UTC (rev 640) +++ dcplusplus/trunk/windows/WinUtil.h 2006-07-23 09:31:25 UTC (rev 641) @@ -341,6 +341,14 @@ static bool isAlt() { return (GetKeyState(VK_MENU) & 0x8000) > 0; } static bool isCtrl() { return (GetKeyState(VK_CONTROL) & 0x8000) > 0; } + static tstring escapeMenu(tstring str) { + string::size_type i = 0; + while( (i = str.find(_T('&'), i)) != string::npos) { + str.insert(str.begin()+i, 1, _T('&')); + i += 2; + } + return str; + } template<class T> static HWND hiddenCreateEx(T& p) throw() { HWND active = (HWND)::SendMessage(mdiClient, WM_MDIGETACTIVE, 0, 0); ::LockWindowUpdate(mdiClient); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |