From 6d477bb4596d139b1e4ea88bcbf2f2cf613c42ff Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 26 Jul 2001 18:40:25 +0000 Subject: [PATCH] (bad) fix for asserts and OnIdle events git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/app.cpp | 13 +++++++------ src/gtk1/app.cpp | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp index cc85a29c9f..8502f2a279 100644 --- a/src/gtk/app.cpp +++ b/src/gtk/app.cpp @@ -198,12 +198,12 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) ) return TRUE; #ifdef __WXDEBUG__ + // don't generate the idle events while the assert modal dialog is shown, + // this completely confuses the apps which don't expect to be reentered + // from some safely-looking functions if ( wxTheApp->IsInAssert() ) { - // don't generate the idle events while the assert modal dialog is - // shown, this completely confuses the apps which don't expect to be - // reentered from some safely-looking functions - return FALSE; + return TRUE; } #endif // __WXDEBUG__ @@ -220,8 +220,9 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) ) g_isIdle = TRUE; wxTheApp->m_idleTag = 0; - // Sent idle event to all who request them - while (wxTheApp->ProcessIdle()) { } + // Sent idle event to all who request them as long as they do + while (wxTheApp->ProcessIdle()) + ; // Release lock again gdk_threads_leave(); diff --git a/src/gtk1/app.cpp b/src/gtk1/app.cpp index cc85a29c9f..8502f2a279 100644 --- a/src/gtk1/app.cpp +++ b/src/gtk1/app.cpp @@ -198,12 +198,12 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) ) return TRUE; #ifdef __WXDEBUG__ + // don't generate the idle events while the assert modal dialog is shown, + // this completely confuses the apps which don't expect to be reentered + // from some safely-looking functions if ( wxTheApp->IsInAssert() ) { - // don't generate the idle events while the assert modal dialog is - // shown, this completely confuses the apps which don't expect to be - // reentered from some safely-looking functions - return FALSE; + return TRUE; } #endif // __WXDEBUG__ @@ -220,8 +220,9 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) ) g_isIdle = TRUE; wxTheApp->m_idleTag = 0; - // Sent idle event to all who request them - while (wxTheApp->ProcessIdle()) { } + // Sent idle event to all who request them as long as they do + while (wxTheApp->ProcessIdle()) + ; // Release lock again gdk_threads_leave(); -- 2.45.2