*
*/
+#include <typeinfo>
+
// INTERNAL INCLUDES
#include <dali/internal/common/buffer-index.h>
#include <dali/internal/common/type-abstraction.h>
#include <dali/internal/update/common/scene-graph-buffers.h>
+#include <dali/integration-api/debug.h>
namespace Dali
{
virtual void Process( BufferIndex /*bufferIndex*/ )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)();
}
virtual void Process( BufferIndex /*bufferIndex*/ )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( param1 );
}
virtual void Process( BufferIndex /*bufferIndex*/ )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( param1, param2 );
}
virtual void Process( BufferIndex /*bufferIndex*/ )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( param1, param2, param3 );
}
virtual void Process( BufferIndex /*bufferIndex*/ )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( param1, param2, param3, param4 );
}
virtual void Process( BufferIndex /*bufferIndex*/ )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( param1, param2, param3, param4, param5 );
}
virtual void Process( BufferIndex /*bufferIndex*/ )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( param1, param2, param3, param4, param5, param6 );
}
virtual void Process( BufferIndex bufferIndex )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( bufferIndex );
}
virtual void Process( BufferIndex bufferIndex )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( bufferIndex, param );
}
virtual void Process( BufferIndex bufferIndex )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)(
bufferIndex, param2, param3 );
}
virtual void Process( BufferIndex bufferIndex )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( bufferIndex, param2, param3, param4 );
}
virtual void Process( BufferIndex bufferIndex )
{
DALI_ASSERT_DEBUG( object && "Message does not have an object" );
+
+ DALI_LOG_ERROR("Message::Process: object: %s, function pointer: %p\n", typeid(object).name(), memberFunction);
+
(object->*memberFunction)( bufferIndex, param2, param3, param4, param5 );
}
#include <dali/internal/common/memory-pool-object-allocator.h>
#include <dali/internal/render/common/performance-monitor.h>
#include <dali/public-api/math/math-utils.h>
+#include <dali/integration-api/debug.h>
+
namespace //Unnamed namespace
{
//Memory pool used to allocate new animations. Memory used by this pool will be released when shutting down DALi
void Animation::Play()
{
+ DALI_LOG_ERROR("Scene Graph Animation::Play: Before stable_sort\n");
+
// Sort according to end time with earlier end times coming first, if the end time is the same, then the animators are not moved
std::stable_sort( mAnimators.Begin(), mAnimators.End(), CompareAnimatorEndTimes );
+ DALI_LOG_ERROR("Scene Graph Animation::Play: After stable_sort\n");
+
mState = Playing;
if ( mSpeedFactor < 0.0f && mElapsedSeconds <= mPlayRange.x*mDurationSeconds )
mElapsedSeconds = mPlayRange.y * mDurationSeconds;
}
+ DALI_LOG_ERROR("Scene Graph Animation::Play: Before SetAnimatorsActive\n");
+
SetAnimatorsActive( true );
+ DALI_LOG_ERROR("Scene Graph Animation::Play: After SetAnimatorsActive\n");
+
mCurrentLoop = 0;
}
#include <dali/public-api/common/vector-wrapper.h>
#include <dali/devel-api/threading/mutex.h>
#include <dali/integration-api/render-controller.h>
+#include <dali/integration-api/debug.h>
#include <dali/internal/common/message.h>
#include <dali/internal/common/message-buffer.h>
#include <dali/internal/render/common/performance-monitor.h>
MessageQueueMutex::ScopedLock lock( mImpl->queueMutex );
const MessageBufferIter processQueueEndIter = mImpl->processQueue.end();
+
+ bool enableLog = ( mImpl->processQueue.begin() != processQueueEndIter );
+
+ if ( enableLog )
+ {
+ DALI_LOG_ERROR("+++ MessageQueue::ProcessMessages: Mutex locked\n");
+ }
+
for ( MessageBufferIter iter = mImpl->processQueue.begin(); iter != processQueueEndIter ; ++iter )
{
MessageBuffer* buffer = *iter;
{
MessageBase* message = reinterpret_cast< MessageBase* >( iter.Get() );
+ if ( enableLog )
+ {
+ DALI_LOG_ERROR("Before message->Process\n");
+ }
+
message->Process( updateBufferIndex );
+ if ( enableLog )
+ {
+ DALI_LOG_ERROR("After message->Process\n");
+ }
+
// Call virtual destructor explictly; since delete will not be called after placement new
message->~MessageBase();
}
mImpl->recycleQueue.push_back( buffer );
}
+ if ( enableLog )
+ {
+ DALI_LOG_ERROR("Outside message queue process\n");
+ }
+
mImpl->sceneUpdate >>= 1;
mImpl->queueWasEmpty = mImpl->processQueue.empty(); // Flag whether we processed anything
PERF_MONITOR_END(PerformanceMonitor::PROCESS_MESSAGES);
+ if ( enableLog )
+ {
+ DALI_LOG_ERROR("--- MessageQueue::ProcessMessages: Mutex unlocked\n");
+ }
+
return ( mImpl->sceneUpdate & 0x01 ); // if it was previously 2, scene graph was updated.
}