]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/thread.cpp
setting clipping correctly
[wxWidgets.git] / src / msw / thread.cpp
index b48ed592cdcd16c9e51853f4b5b3ae965d68961a..ee7fec670d7dc528a62ed77011bcc87b246122db 100644 (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 */) )
 {
 #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;
     }
 
     return wxSEMA_NO_ERROR;
+#else
+    return wxSEMA_MISC_ERROR;
+#endif
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------