Fixed wxListCtrl::GetNextItem()

Fixed bug in handling wxLC_NO_HEADER,
  Moved logmessage stuff out of idle_recursion protection so
    that log dialogs get idle events


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2000-01-22 11:14:22 +00:00
parent 29e7e51a4d
commit ea451729db
5 changed files with 35 additions and 27 deletions

View File

@@ -138,9 +138,6 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
// thread so we must lock it here ourselves
gdk_threads_enter();
/* sent idle event to all who request them */
while (wxTheApp->ProcessIdle()) { }
/* we don't want any more idle events until the next event is
sent to wxGTK */
gtk_idle_remove( wxTheApp->m_idleTag );
@@ -153,6 +150,9 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
emptied */
g_isIdle = TRUE;
/* sent idle event to all who request them */
while (wxTheApp->ProcessIdle()) { }
// release lock again
gdk_threads_leave();
@@ -352,11 +352,11 @@ bool wxApp::ProcessIdle()
void wxApp::OnIdle( wxIdleEvent &event )
{
static bool s_inOnIdle = FALSE;
/* Avoid recursion (via ProcessEvent default case) */
if (s_inOnIdle)
return;
s_inOnIdle = TRUE;
/* Resend in the main thread events which have been prepared in other
@@ -366,13 +366,6 @@ void wxApp::OnIdle( wxIdleEvent &event )
/* 'Garbage' collection of windows deleted with Close(). */
DeletePendingObjects();
/* flush the logged messages if any */
#if wxUSE_LOG
wxLog *log = wxLog::GetActiveTarget();
if (log != NULL && log->HasPendingMessages())
log->Flush();
#endif // wxUSE_LOG
/* Send OnIdle events to all windows */
bool needMore = SendIdleEvents();
@@ -380,6 +373,13 @@ void wxApp::OnIdle( wxIdleEvent &event )
event.RequestMore(TRUE);
s_inOnIdle = FALSE;
/* flush the logged messages if any */
#if wxUSE_LOG
wxLog *log = wxLog::GetActiveTarget();
if (log != NULL && log->HasPendingMessages())
log->Flush();
#endif // wxUSE_LOG
}
bool wxApp::SendIdleEvents()