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