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 wxTranslations class to allow localization without changing locale.
|
||||||
- Added wxResourceTranslationsLoader for loading translations from Windows
|
- Added wxResourceTranslationsLoader for loading translations from Windows
|
||||||
resources.
|
resources.
|
||||||
|
- Added wxMessageQueue::Clear().
|
||||||
|
|
||||||
Unix:
|
Unix:
|
||||||
|
|
||||||
|
@@ -72,6 +72,22 @@ public:
|
|||||||
return wxMSGQUEUE_NO_ERROR;
|
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.
|
// Wait no more than timeout milliseconds until a message becomes available.
|
||||||
//
|
//
|
||||||
// Setting timeout to 0 is equivalent to an infinite timeout. See Receive().
|
// 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
|
should terminate as there is no other way to gracefully shutdown a thread
|
||||||
waiting on the message queue.
|
waiting on the message queue.
|
||||||
|
|
||||||
|
@since 2.9.0
|
||||||
|
|
||||||
@nolibrary
|
@nolibrary
|
||||||
@category{threading}
|
@category{threading}
|
||||||
|
|
||||||
@@ -35,6 +37,17 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxMessageQueue();
|
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
|
Returns @true if the object had been initialized successfully, @false
|
||||||
if an error occurred.
|
if an error occurred.
|
||||||
|
Reference in New Issue
Block a user