make wxSemaphore::Post() return wxSEMA_OVERFLOW as documented (patch 1557642)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-10-03 15:05:40 +00:00
parent 6ee2c58bd8
commit a0020fcd54
2 changed files with 13 additions and 4 deletions

View File

@@ -76,6 +76,7 @@ All (GUI):
wxMSW:
- Implemented wxComboBox::SetEditable().
- wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther)
- Fixed a bug whereby static controls didn't use the correct text colour if the
parent's background colour had been set (most noticeable when switching to a
high-contrast theme).

View File

@@ -355,14 +355,22 @@ wxSemaError wxSemaphoreInternal::Post()
{
#if !defined(_WIN32_WCE) || (_WIN32_WCE >= 300)
if ( !::ReleaseSemaphore(m_semaphore, 1, NULL /* ptr to previous count */) )
#endif
{
wxLogLastError(_T("ReleaseSemaphore"));
return wxSEMA_MISC_ERROR;
if ( GetLastError() == ERROR_TOO_MANY_POSTS )
{
return wxSEMA_OVERFLOW;
}
else
{
wxLogLastError(_T("ReleaseSemaphore"));
return wxSEMA_MISC_ERROR;
}
}
return wxSEMA_NO_ERROR;
#else
return wxSEMA_MISC_ERROR;
#endif
}
// ----------------------------------------------------------------------------