Index: src/ch/UpdateChecker.cpp =================================================================== diff -u -N -r9f104b1c0d552cbe2d1c6b799388af53acce8228 -ra8265d43e06aeec228ce8f19b138ed1b05726cbd --- src/ch/UpdateChecker.cpp (.../UpdateChecker.cpp) (revision 9f104b1c0d552cbe2d1c6b799388af53acce8228) +++ src/ch/UpdateChecker.cpp (.../UpdateChecker.cpp) (revision a8265d43e06aeec228ce8f19b138ed1b05726cbd) @@ -101,8 +101,8 @@ } m_dwExpectedState = INTERNET_STATUS_REQUEST_COMPLETE; - m_hOpenUrl = ::InternetOpenUrl(m_hInternet, pszPath, NULL, 0, INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_RELOAD, (DWORD_PTR)this); - if(!m_hOpenUrl) + HINTERNET hOpenUrl = ::InternetOpenUrl(m_hInternet, pszPath, NULL, 0, INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_RELOAD, (DWORD_PTR)this); + if(!hOpenUrl) { m_dwError = ::GetLastError(); if(m_dwError != ERROR_IO_PENDING) @@ -118,12 +118,13 @@ } } else + { + SetUrlHandle(hOpenUrl); m_dwExpectedState = 0; // everything has been completed - - if(m_hOpenUrl) ::SetEvent(m_hFinishedEvent); + } - return m_hOpenUrl ? S_OK : S_FALSE; + return hOpenUrl ? S_OK : S_FALSE; } // ============================================================================