bool wxAppConsoleBase::HasPendingEvents() const
{
- // ensure that we're the only thread to modify the pending events list
wxENTER_CRIT_SECT( *wxPendingEventsLocker );
- if ( !wxPendingEvents )
- {
- wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
- return false;
- }
+ bool has = wxPendingEvents && !wxPendingEvents->IsEmpty();
+
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
- return true;
+
+ return has;
}
/* static */
return;
#endif
- if ( !HasPendingEvents() )
- return;
-
wxENTER_CRIT_SECT( *wxPendingEventsLocker );
- // iterate until the list becomes empty
- wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
- while (node)
+ if (wxPendingEvents)
{
- wxEvtHandler *handler = (wxEvtHandler *)node->GetData();
- wxPendingEvents->Erase(node);
+ // iterate until the list becomes empty
+ wxList::compatibility_iterator node = wxPendingEvents->GetFirst();
+ while (node)
+ {
+ wxEvtHandler *handler = (wxEvtHandler *)node->GetData();
+ wxPendingEvents->Erase(node);
- // In ProcessPendingEvents(), new handlers might be add
- // and we can safely leave the critical section here.
- wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
+ // In ProcessPendingEvents(), new handlers might be add
+ // and we can safely leave the critical section here.
+ wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
- handler->ProcessPendingEvents();
+ handler->ProcessPendingEvents();
- wxENTER_CRIT_SECT( *wxPendingEventsLocker );
+ wxENTER_CRIT_SECT( *wxPendingEventsLocker );
- node = wxPendingEvents->GetFirst();
+ node = wxPendingEvents->GetFirst();
+ }
}
wxLEAVE_CRIT_SECT( *wxPendingEventsLocker );
#if wxUSE_CMDLINE_PARSER
-#define OPTION_VERBOSE _T("verbose")
+#define OPTION_VERBOSE "verbose"
void wxAppConsoleBase::OnInitCmdLine(wxCmdLineParser& parser)
{
{
{
wxCMD_LINE_SWITCH,
- _T("h"),
- _T("help"),
+ "h",
+ "help",
gettext_noop("show this help message"),
wxCMD_LINE_VAL_NONE,
wxCMD_LINE_OPTION_HELP
#if wxUSE_LOG
{
wxCMD_LINE_SWITCH,
- wxEmptyString,
+ NULL,
OPTION_VERBOSE,
gettext_noop("generate verbose log messages"),
wxCMD_LINE_VAL_NONE,
#endif // wxUSE_LOG
// terminator
- {
- wxCMD_LINE_NONE,
- wxEmptyString,
- wxEmptyString,
- wxEmptyString,
- wxCMD_LINE_VAL_NONE,
- 0x0
- }
+ wxCMD_LINE_DESC_END
};
parser.SetDesc(cmdLineDesc);
#if wxUSE_INTL
void wxAppTraitsBase::SetLocale()
{
- setlocale(LC_ALL, "");
+ wxSetlocale(LC_ALL, "");
wxUpdateLocaleIsUtf8();
}
#endif
{
#if defined(__WXMSW__) && !defined(__WXMICROWIN__)
DebugBreak();
-#elif defined(__WXMAC__) && !defined(__DARWIN__)
- #if __powerc
- Debugger();
- #else
- SysBreak();
- #endif
#elif defined(_MSL_USING_MW_C_HEADERS) && _MSL_USING_MW_C_HEADERS
Debugger();
#elif defined(__UNIX__)
#endif // wxUSE_LOG
}
+static
bool DoShowAssertDialog(const wxString& msg)
{
// under MSW we can show the dialog even in the console mode