From 0ef2ebbafc5147e685c306753a771cd62384ef89 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 4 Jul 2002 17:26:36 +0000 Subject: [PATCH] undid the patches which shouldn't (IMHO) have been applied to this branch git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/msw/combobox.cpp | 8 +------- src/msw/thread.cpp | 49 ++++++++------------------------------------ src/msw/tooltip.cpp | 6 ++++-- 3 files changed, 13 insertions(+), 50 deletions(-) diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp index bb325725ce..e8bfc1b6d5 100644 --- a/src/msw/combobox.cpp +++ b/src/msw/combobox.cpp @@ -269,17 +269,11 @@ bool wxComboBox::MSWCommand(WXUINT param, WXWORD WXUNUSED(id)) event.SetString(value); event.SetEventObject(this); - return ProcessCommand(event); + ProcessCommand(event); } break; } - // I don't think the following should be true. The return value is - // whether the event has been handled, not the status of the handling. - // So, we only return false if the switch fell through. This will - // resolve the same event being sent multiple times by MS Windows. - // mea 05-22-01 - // there is no return value for the CBN_ notifications, so always return // FALSE from here to pass the message to DefWindowProc() return FALSE; diff --git a/src/msw/thread.cpp b/src/msw/thread.cpp index 2180ddd994..d93d017704 100644 --- a/src/msw/thread.cpp +++ b/src/msw/thread.cpp @@ -965,30 +965,8 @@ wxThreadError wxThread::Delete(ExitCode *pRc) HANDLE hThread = m_internal->GetHandle(); - // Check if thread is really still running. There is a - // race condition in WinThreadStart between the time the - // m_internal->m_state is set to STATE_EXITED and the win32 - // thread actually exits. It can be flagged as STATE_EXITED - // and then we don't wait for it to exit. This will cause - // GetExitCodeThread to return STILL_ACTIVE. - if ( !isRunning ) - { - if ( !IsRunning() ) - { - if ( ::GetExitCodeThread(hThread, (LPDWORD)&rc) ) - { - if ((DWORD)rc == STILL_ACTIVE) - isRunning = TRUE; - } - } - else - { - isRunning = TRUE; - } - } - - // does it still run? - if ( isRunning ) + // does is still run? + if ( isRunning || IsRunning() ) { if ( IsMain() ) { @@ -1044,24 +1022,13 @@ wxThreadError wxThread::Delete(ExitCode *pRc) break; case WAIT_OBJECT_0 + 1: + // new message arrived, process it + if ( !wxTheApp->DoMessage() ) { - MSG peekMsg; - // Check if a new message has really arrived. - // MsgWaitForMultipleObjects can indicate that a message - // is ready for processing, but this message may be sucked - // up by GetMessage and then GetMessage will hang and not - // allow us to process the actual thread exit event. - if (::PeekMessage(&peekMsg, (HWND) NULL, 0, 0, PM_NOREMOVE)) - { - // new message arrived, process it - if ( !wxTheApp->DoMessage() ) - { - // WM_QUIT received: kill the thread - Kill(); - - return wxTHREAD_KILLED; - } - } + // WM_QUIT received: kill the thread + Kill(); + + return wxTHREAD_KILLED; } break; diff --git a/src/msw/tooltip.cpp b/src/msw/tooltip.cpp index 28bafa0c16..930748cdbf 100644 --- a/src/msw/tooltip.cpp +++ b/src/msw/tooltip.cpp @@ -382,9 +382,11 @@ void wxToolTip::SetWindow(wxWindow *win) // something like this where the derived class can do such things // itself instead of wxToolTip "knowing" about them all wxComboBox *combo = wxDynamicCast(control, wxComboBox); - if ( combo && !(combo->GetWindowStyle() & wxCB_READONLY)) + if ( combo ) { - WXHWND hwndComboEdit = combo->GetEditHWND(); + WXHWND hwndComboEdit = combo->GetWindowStyle() & wxCB_READONLY + ? combo->GetHWND() + : combo->GetEditHWND(); if ( hwndComboEdit ) { Add(hwndComboEdit); -- 2.45.2