don't reset idle tag unless idle function is also going to be removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -224,16 +224,6 @@ static gint wxapp_idle_callback( gpointer WXUNUSED(data) )
|
|||||||
// thread so we must lock it here ourselves.
|
// thread so we must lock it here ourselves.
|
||||||
gdk_threads_enter();
|
gdk_threads_enter();
|
||||||
|
|
||||||
// Indicate that we are now in idle mode and event handlers
|
|
||||||
// will have to reinstall the idle handler again.
|
|
||||||
{
|
|
||||||
#if wxUSE_THREADS
|
|
||||||
wxMutexLocker lock(gs_idleTagsMutex);
|
|
||||||
#endif
|
|
||||||
g_isIdle = true;
|
|
||||||
wxTheApp->m_idleTag = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool moreIdles;
|
bool moreIdles;
|
||||||
|
|
||||||
// Send idle event to all who request them as long as
|
// Send idle event to all who request them as long as
|
||||||
@@ -245,7 +235,17 @@ static gint wxapp_idle_callback( gpointer WXUNUSED(data) )
|
|||||||
gdk_threads_leave();
|
gdk_threads_leave();
|
||||||
|
|
||||||
if (!moreIdles)
|
if (!moreIdles)
|
||||||
|
{
|
||||||
|
#if wxUSE_THREADS
|
||||||
|
wxMutexLocker lock(gs_idleTagsMutex);
|
||||||
|
#endif
|
||||||
|
// Indicate that we are now in idle mode and event handlers
|
||||||
|
// will have to reinstall the idle handler again.
|
||||||
|
g_isIdle = true;
|
||||||
|
wxTheApp->m_idleTag = 0;
|
||||||
|
|
||||||
wxAddEmissionHook();
|
wxAddEmissionHook();
|
||||||
|
}
|
||||||
|
|
||||||
// Return FALSE if no more idle events are to be sent
|
// Return FALSE if no more idle events are to be sent
|
||||||
return moreIdles;
|
return moreIdles;
|
||||||
|
Reference in New Issue
Block a user