Added wxMessageQueue::Clear().
This method can be called from the posting thread to remove any still pending requests if they became unnecessary. Closes #10905. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -448,6 +448,7 @@ All:
|
||||
- Added wxTranslations class to allow localization without changing locale.
|
||||
- Added wxResourceTranslationsLoader for loading translations from Windows
|
||||
resources.
|
||||
- Added wxMessageQueue::Clear().
|
||||
|
||||
Unix:
|
||||
|
||||
|
@@ -72,6 +72,22 @@ public:
|
||||
return wxMSGQUEUE_NO_ERROR;
|
||||
}
|
||||
|
||||
// Remove all messages from the queue.
|
||||
//
|
||||
// This method is meant to be called from the same thread(s) that call
|
||||
// Post() to discard any still pending requests if they became unnecessary.
|
||||
wxMessageQueueError Clear()
|
||||
{
|
||||
wxCHECK( IsOk(), wxMSGQUEUE_MISC_ERROR );
|
||||
|
||||
wxMutexLocker locker(m_mutex);
|
||||
|
||||
std::queue<T> empty;
|
||||
std::swap(m_messages, empty);
|
||||
|
||||
return wxMSGQUEUE_NO_ERROR;
|
||||
}
|
||||
|
||||
// Wait no more than timeout milliseconds until a message becomes available.
|
||||
//
|
||||
// Setting timeout to 0 is equivalent to an infinite timeout. See Receive().
|
||||
|
@@ -20,6 +20,8 @@
|
||||
should terminate as there is no other way to gracefully shutdown a thread
|
||||
waiting on the message queue.
|
||||
|
||||
@since 2.9.0
|
||||
|
||||
@nolibrary
|
||||
@category{threading}
|
||||
|
||||
@@ -35,6 +37,17 @@ public:
|
||||
*/
|
||||
wxMessageQueue();
|
||||
|
||||
/**
|
||||
Remove all messages from the queue.
|
||||
|
||||
This method is meant to be called from the same thread(s) that call
|
||||
Post() to discard any still pending requests if they became
|
||||
unnecessary.
|
||||
|
||||
@since 2.9.1
|
||||
*/
|
||||
wxMessageQueueError Clear();
|
||||
|
||||
/**
|
||||
Returns @true if the object had been initialized successfully, @false
|
||||
if an error occurred.
|
||||
|
Reference in New Issue
Block a user