if( ( ! mNotificationOnIdleInstalled ) && ( RUNNING == mState || READY == mState || forceProcess ) )
{
mNotificationOnIdleInstalled = AddIdleEnterer( MakeCallback( this, &Adaptor::ProcessCoreEventsFromIdle ), forceProcess );
+ mNotificationOnIdleInstalledCnt++;
+ if( RUNNING == mState )
+ {
+ DALI_LOG_ERROR("gab_test mNotificationOnIdleInstalledCnt %d ", mNotificationOnIdleInstalledCnt);
+ mNotificationOnIdleInstalled = false;
+ }
}
}
// the idle handle automatically un-installs itself
mNotificationOnIdleInstalled = false;
+ mNotificationOnIdleInstalledCnt--;
return false;
}
mObjectProfiler( nullptr ),
mSocketFactory(),
mEnvironmentOptionsOwned( environmentOptions ? false : true /* If not provided then we own the object */ ),
- mUseRemoteSurface( false )
+ mUseRemoteSurface( false ),
+ mNotificationOnIdleInstalledCnt( 0 )
{
DALI_ASSERT_ALWAYS( !IsAvailable() && "Cannot create more than one Adaptor per thread" );
mWindows.insert( mWindows.begin(), &Dali::GetImplementation( window ) );
SocketFactory mSocketFactory; ///< Socket factory
const bool mEnvironmentOptionsOwned:1; ///< Whether we own the EnvironmentOptions (and thus, need to delete it)
bool mUseRemoteSurface; ///< whether the remoteSurface is used or not
+ int mNotificationOnIdleInstalledCnt;
public:
inline static Adaptor& GetImplementation(Dali::Adaptor& adaptor) { return *adaptor.mImpl; }