Under MSW the timer appeared to be flooding the message queue with timer
events faster than we could process them (which seems incredible for the timer
interval of 1 second but still seems to happen), so the idle events were never
generated and the sample didn't work at all.
Now stop the timer once we get a last notification from it to let the program
become idle and run the test function scheduled from the timer handler.
See #11528.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64566
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
case 15:
testfunc = &MyClient::TestDisconnect;
+ // We don't need the timer any more, we're going to exit soon.
+ Stop();
break;
+
+ default:
+ // No need to wake up idle handling.
+ return;
}
- if ( testfunc )
- m_tests.push_back(testfunc);
+ m_tests.push_back(testfunc);
wxWakeUpIdle();
}
void MyClient::StartNextTestIfNecessary()
{
- if ( !m_tests.empty() )
+ while ( !m_tests.empty() )
{
MyClientTestFunc testfunc = m_tests.front();
m_tests.erase(m_tests.begin());