[dali_1.1.1] Merge branch 'devel/master' 22/46822/1
authorLee Morgan <Lee.morgan@partner.samsung.com>
Wed, 26 Aug 2015 10:15:16 +0000 (11:15 +0100)
committerLee Morgan <Lee.morgan@partner.samsung.com>
Wed, 26 Aug 2015 10:15:16 +0000 (11:15 +0100)
Change-Id: Ied05117f28d79fae2e4a28d48bd0ffc4e79fd9c4

15 files changed:
adaptors/base/thread-synchronization-debug.h
adaptors/base/thread-synchronization.cpp
adaptors/common/application-impl.cpp
adaptors/common/gl/gl-proxy-implementation.cpp
adaptors/common/gl/gl-proxy-implementation.h
adaptors/common/indicator-impl.cpp
adaptors/common/virtual-keyboard-impl.cpp
adaptors/public-api/adaptor-framework/key.h
adaptors/public-api/dali-adaptor-version.cpp
adaptors/tv/key-mapping-tv.cpp
adaptors/ubuntu/key-mapping-ubuntu.cpp
adaptors/wayland/key-mapping-wl.cpp
adaptors/x11/key-mapping-x.cpp
packaging/dali-adaptor-mobile.spec
packaging/dali-adaptor.spec

index d314291..8edf4b3 100644 (file)
@@ -32,30 +32,66 @@ namespace Adaptor
 
 namespace
 {
+// Uncomment next line for FULL logging of the ThreadSynchronization class in release mode
+//#define RELEASE_BUILD_LOGGING
+
 #ifdef DEBUG_ENABLED
 
-#define ENABLE_LOG_IN_COLOR 1
-#define ENABLE_VSYNC_COUNTER_LOGGING 1
-#define ENABLE_UPDATE_COUNTER_LOGGING 1
-#define ENABLE_VSYNC_THREAD_LOGGING 1
-#define ENABLE_UPDATE_THREAD_LOGGING 1
-#define ENABLE_RENDER_THREAD_LOGGING 1
-#define ENABLE_EVENT_LOGGING 1
+#define ENABLE_LOG_IN_COLOR
+#define ENABLE_VSYNC_COUNTER_LOGGING
+#define ENABLE_UPDATE_COUNTER_LOGGING
+#define ENABLE_VSYNC_THREAD_LOGGING
+#define ENABLE_UPDATE_THREAD_LOGGING
+#define ENABLE_RENDER_THREAD_LOGGING
+#define ENABLE_EVENT_LOGGING
+
+#define DEBUG_LEVEL_COUNTER     Debug::Verbose
+#define DEBUG_LEVEL_VSYNC       Debug::General
+#define DEBUG_LEVEL_UPDATE      Debug::General
+#define DEBUG_LEVEL_RENDER      Debug::General
+#define DEBUG_LEVEL_EVENT       Debug::Concise
+
+Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, false, "LOG_THREAD_SYNC" );
+
+#define LOG_THREAD_SYNC(level, color, format, args...) \
+  DALI_LOG_INFO( gLogFilter, level, "%s" format "%s\n", color, ## args, COLOR_CLEAR )
+
+#define LOG_THREAD_SYNC_TRACE(color) \
+  Dali::Integration::Log::TraceObj debugTraceObj( gLogFilter, "%s%s%s", color, __FUNCTION__, COLOR_CLEAR ); \
+  if( ! gLogFilter->IsTraceEnabled() ) { LOG_THREAD_SYNC( Debug::Concise, color, "%s", __FUNCTION__ ); }
+
+#define LOG_THREAD_SYNC_TRACE_FMT(color, format, args...) \
+  Dali::Integration::Log::TraceObj debugTraceObj( gLogFilter, "%s%s: " format "%s", color, __FUNCTION__, ## args, COLOR_CLEAR ); \
+  if( ! gLogFilter->IsTraceEnabled() ) { LOG_THREAD_SYNC( Debug::Concise, color, "%s: " format, __FUNCTION__, ## args ); }
 
-Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, true, "LOG_THREAD_SYNC" );
+#elif defined( RELEASE_BUILD_LOGGING )
+
+#define ENABLE_LOG_IN_COLOR
+#define ENABLE_VSYNC_COUNTER_LOGGING
+#define ENABLE_UPDATE_COUNTER_LOGGING
+#define ENABLE_VSYNC_THREAD_LOGGING
+#define ENABLE_UPDATE_THREAD_LOGGING
+#define ENABLE_RENDER_THREAD_LOGGING
+#define ENABLE_EVENT_LOGGING
+
+#define DEBUG_LEVEL_COUNTER     0
+#define DEBUG_LEVEL_VSYNC       0
+#define DEBUG_LEVEL_UPDATE      0
+#define DEBUG_LEVEL_RENDER      0
+#define DEBUG_LEVEL_EVENT       0
 
 #define LOG_THREAD_SYNC(level, color, format, args...) \
-    if( gLogFilter && gLogFilter->IsEnabledFor( level ) ) { Dali::Integration::Log::LogMessage( Dali::Integration::Log::DebugInfo, "%s" format "%s\n", color, ## args, COLOR_CLEAR ); }
+  Dali::Integration::Log::LogMessage( Dali::Integration::Log::DebugInfo, "%s" format "%s\n", color, ## args, COLOR_CLEAR )
 
 #define LOG_THREAD_SYNC_TRACE(color) \
-    Dali::Integration::Log::TraceObj debugTraceObj( ( gLogFilter && gLogFilter->IsEnabledFor( Debug::Concise ) ) ? gLogFilter : NULL, "%s%s%s", color, __FUNCTION__, COLOR_CLEAR )
+  Dali::Integration::Log::LogMessage( Dali::Integration::Log::DebugInfo, "%s%s%s\n", color, __FUNCTION__, COLOR_CLEAR )
 
 #define LOG_THREAD_SYNC_TRACE_FMT(color, format, args...) \
-    Dali::Integration::Log::TraceObj debugTraceObj( ( gLogFilter && gLogFilter->IsEnabledFor( Debug::Concise ) ) ? gLogFilter : NULL, "%s%s: " format "%s", color, __FUNCTION__, ## args, COLOR_CLEAR )
+  Dali::Integration::Log::LogMessage( Dali::Integration::Log::DebugInfo, "%s%s: " format "%s\n", color, __FUNCTION__, ## args, COLOR_CLEAR )
 
-#else // DEBUG_ENABLED
+#else
 
-#define LOG_THREAD_SYNC(color, format, args...)
+#define LOG_THREAD_SYNC(level, color, format, args...)
 #define LOG_THREAD_SYNC_TRACE(color)
 #define LOG_THREAD_SYNC_TRACE_FMT(color, format, args...)
 
@@ -82,23 +118,23 @@ Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, true, "LOG_THR
 #endif
 
 #ifdef ENABLE_VSYNC_COUNTER_LOGGING
-#define LOG_VSYNC_COUNTER_VSYNC(format, args...)    LOG_THREAD_SYNC(Debug::Verbose, COLOR_LIGHT_RED, "%s: " format, __FUNCTION__, ## args)
-#define LOG_VSYNC_COUNTER_UPDATE(format, args...)   LOG_THREAD_SYNC(Debug::Verbose, COLOR_LIGHT_YELLOW, "%s: " format, __FUNCTION__, ## args)
+#define LOG_VSYNC_COUNTER_VSYNC(format, args...)    LOG_THREAD_SYNC(DEBUG_LEVEL_COUNTER, COLOR_LIGHT_RED, "%s: " format, __FUNCTION__, ## args)
+#define LOG_VSYNC_COUNTER_UPDATE(format, args...)   LOG_THREAD_SYNC(DEBUG_LEVEL_COUNTER, COLOR_LIGHT_YELLOW, "%s: " format, __FUNCTION__, ## args)
 #else
 #define LOG_VSYNC_COUNTER_VSYNC(format, args...)
 #define LOG_VSYNC_COUNTER_UPDATE(format, args...)
 #endif
 
 #ifdef ENABLE_UPDATE_COUNTER_LOGGING
-#define LOG_UPDATE_COUNTER_UPDATE(format, args...)  LOG_THREAD_SYNC(Debug::Verbose, COLOR_YELLOW, "%s: " format, __FUNCTION__, ## args)
-#define LOG_UPDATE_COUNTER_RENDER(format, args...)  LOG_THREAD_SYNC(Debug::Verbose, COLOR_LIGHT_BLUE, "%s: " format, __FUNCTION__, ## args)
+#define LOG_UPDATE_COUNTER_UPDATE(format, args...)  LOG_THREAD_SYNC(DEBUG_LEVEL_COUNTER, COLOR_YELLOW, "%s: " format, __FUNCTION__, ## args)
+#define LOG_UPDATE_COUNTER_RENDER(format, args...)  LOG_THREAD_SYNC(DEBUG_LEVEL_COUNTER, COLOR_LIGHT_BLUE, "%s: " format, __FUNCTION__, ## args)
 #else
 #define LOG_UPDATE_COUNTER_UPDATE(format, args...)
 #define LOG_UPDATE_COUNTER_RENDER(format, args...)
 #endif
 
 #ifdef ENABLE_VSYNC_THREAD_LOGGING
-#define LOG_VSYNC(format, args...)             LOG_THREAD_SYNC(Debug::General, COLOR_RED, "%s: " format, __FUNCTION__, ## args)
+#define LOG_VSYNC(format, args...)             LOG_THREAD_SYNC(DEBUG_LEVEL_VSYNC, COLOR_RED, "%s: " format, __FUNCTION__, ## args)
 #define LOG_VSYNC_TRACE                        LOG_THREAD_SYNC_TRACE(COLOR_RED)
 #define LOG_VSYNC_TRACE_FMT(format, args...)   LOG_THREAD_SYNC_TRACE_FMT(COLOR_RED, format, ## args)
 #else
@@ -108,7 +144,7 @@ Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, true, "LOG_THR
 #endif
 
 #ifdef ENABLE_UPDATE_THREAD_LOGGING
-#define LOG_UPDATE(format, args...)            LOG_THREAD_SYNC(Debug::General, COLOR_YELLOW, "%s: " format, __FUNCTION__, ## args)
+#define LOG_UPDATE(format, args...)            LOG_THREAD_SYNC(DEBUG_LEVEL_UPDATE, COLOR_YELLOW, "%s: " format, __FUNCTION__, ## args)
 #define LOG_UPDATE_TRACE                       LOG_THREAD_SYNC_TRACE(COLOR_YELLOW)
 #define LOG_UPDATE_TRACE_FMT(format, args...)  LOG_THREAD_SYNC_TRACE_FMT(COLOR_YELLOW, format, ## args)
 #else
@@ -118,9 +154,9 @@ Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, true, "LOG_THR
 #endif
 
 #ifdef ENABLE_RENDER_THREAD_LOGGING
-#define LOG_RENDER(format, args...)            LOG_THREAD_SYNC(Debug::General, COLOR_BLUE, "%s: " format, __FUNCTION__, ## args)
+#define LOG_RENDER(format, args...)            LOG_THREAD_SYNC(DEBUG_LEVEL_RENDER, COLOR_BLUE, "%s: " format, __FUNCTION__, ## args)
 #define LOG_RENDER_TRACE                       LOG_THREAD_SYNC_TRACE(COLOR_BLUE)
-#define LOG_RENDER_TRACE_FMT(format, args...) LOG_THREAD_SYNC_TRACE_FMT(COLOR_BLUE, format, ## args)
+#define LOG_RENDER_TRACE_FMT(format, args...)  LOG_THREAD_SYNC_TRACE_FMT(COLOR_BLUE, format, ## args)
 #else
 #define LOG_RENDER(format, args...)
 #define LOG_RENDER_TRACE
@@ -128,7 +164,7 @@ Debug::Filter* gLogFilter = Debug::Filter::New( Debug::NoLogging, true, "LOG_THR
 #endif
 
 #ifdef ENABLE_EVENT_LOGGING
-#define LOG_EVENT(format, args...)             LOG_THREAD_SYNC(Debug::Concise, COLOR_WHITE, "%s: " format, __FUNCTION__, ## args)
+#define LOG_EVENT(format, args...)             LOG_THREAD_SYNC(DEBUG_LEVEL_EVENT, COLOR_WHITE, "%s: " format, __FUNCTION__, ## args)
 #define LOG_EVENT_TRACE                        LOG_THREAD_SYNC_TRACE(COLOR_WHITE)
 #define LOG_EVENT_TRACE_FMT(format, args...)   LOG_THREAD_SYNC_TRACE_FMT(COLOR_WHITE, format, ## args)
 #else
index 8a27ecb..191d3e9 100644 (file)
@@ -385,7 +385,8 @@ bool ThreadSynchronization::UpdateReady( bool notifyEvent, bool runUpdate, float
       {
         ConditionalWait::ScopedLock updateLock( mUpdateThreadWaitCondition );
         if( ( mState != State::STOPPED ) &&
-            ( mVSyncAheadOfUpdate == 0 ) )
+            ( mVSyncAheadOfUpdate == 0 ) &&
+            ( !mUpdateThreadResuming ) ) // Ensure we don't wait if the update-thread is JUST resuming
         {
           LOG_VSYNC_COUNTER_UPDATE( " vSyncAheadOfUpdate(%d) WAIT", mVSyncAheadOfUpdate );
           mUpdateThreadWaitCondition.Wait( updateLock );
@@ -626,7 +627,8 @@ void ThreadSynchronization::UpdateTryToSleep( bool runUpdate )
 {
   LOG_UPDATE_TRACE;
 
-  if( ! runUpdate )
+  if( ! runUpdate &&
+      ! IsUpdateThreadResuming() ) // Locks so we shouldn't have a lock, we shouldn't try to sleep if we're JUST resuming
   {
     LOG_UPDATE( "TryToSleep" );
 
index e7c1a3a..ee1158b 100644 (file)
@@ -254,8 +254,6 @@ void Application::OnReset()
    */
   Dali::Application application(this);
   mResetSignal.Emit( application );
-
-  mWindow.Raise();
 }
 
 void Application::OnAppControl(void *data)
index 1b62416..dd3b744 100644 (file)
@@ -148,7 +148,7 @@ void GlProxyImplementation::PreRender()
 {
 }
 
-void GlProxyImplementation::PostRender( unsigned int timeDelta )
+void GlProxyImplementation::PostRender()
 {
   // Accumulate counts in each sampler
   AccumulateSamples();
index 96e8508..1384960 100644 (file)
@@ -120,7 +120,7 @@ public:
   /**
    * @copydoc GlAbstraction::PostRender();
    */
-  virtual void PostRender( unsigned int timeDelta );
+  virtual void PostRender();
 
   /* OpenGL ES 2.0 API */
   virtual void ActiveTexture(GLenum texture);
index a5bad25..01b16f6 100644 (file)
@@ -1343,8 +1343,6 @@ void Indicator::OnAnimationFinished(Dali::Animation& animation)
   // once animation is finished and indicator is hidden, take it off stage
   if( !mIsShowing )
   {
-    mIndicatorActor.SetVisible( false );
-
     if( mObserver != NULL )
     {
       mObserver->IndicatorVisibilityChanged( mIsShowing ); // is showing?
index 9fca891..bc16c05 100644 (file)
@@ -44,7 +44,7 @@ namespace VirtualKeyboard
 namespace
 {
 #if defined(DEBUG_ENABLED)
-Debug::Filter* gLogFilter = Debug::Filter::New(Debug::Verbose, false, "LOG_VIRTUAL_KEYBOARD");
+Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_VIRTUAL_KEYBOARD");
 #endif
 
 #define TOKEN_STRING(x) #x
@@ -160,7 +160,7 @@ bool IsVisible()
 {
   if( ImfManager::IsAvailable() /* We do not want to create an ImfManager instance */ )
   {
-    DALI_LOG_INFO( gLogFilter, Debug::General, "IsVisible\n" );
+    DALI_LOG_INFO( gLogFilter, Debug::General, "IMF IsVisible\n" );
 
     Dali::ImfManager imfManager = ImfManager::Get();
     Ecore_IMF_Context* imfContext = reinterpret_cast<Ecore_IMF_Context*>( imfManager.GetContext() );
index 4859928..861fd1d 100644 (file)
@@ -34,6 +34,8 @@ enum KEY
   DALI_KEY_INVALID          = -1,
   DALI_KEY_ESCAPE           = 9,
   DALI_KEY_BACKSPACE        = 22,
+  DALI_KEY_SHIFT_LEFT       = 50,
+  DALI_KEY_SHIFT_RIGHT      = 62,
   DALI_KEY_CURSOR_UP        = 111,
   DALI_KEY_CURSOR_LEFT      = 113,
   DALI_KEY_CURSOR_RIGHT     = 114,
index c2a2945..f41fe16 100644 (file)
@@ -28,7 +28,7 @@ namespace Dali
 
 const unsigned int ADAPTOR_MAJOR_VERSION = 1;
 const unsigned int ADAPTOR_MINOR_VERSION = 1;
-const unsigned int ADAPTOR_MICRO_VERSION = 0;
+const unsigned int ADAPTOR_MICRO_VERSION = 1;
 const char * const ADAPTOR_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 31c0a2a..6c9012f 100644 (file)
@@ -74,6 +74,12 @@ KeyLookup KeyLookupTable[]=
   { "Hangul",                DALI_KEY_LANGUAGE,        false },
   { "XF86AudioRaiseVolume",  DALI_KEY_VOLUME_UP,       true  },
   { "XF86AudioLowerVolume",  DALI_KEY_VOLUME_DOWN,     true  },
+
+  { "BackSpace",             DALI_KEY_BACKSPACE,       false },
+  { "Left",                  DALI_KEY_CURSOR_LEFT,     false },
+  { "Right",                 DALI_KEY_CURSOR_RIGHT,    false },
+  { "Shift_L",               DALI_KEY_SHIFT_LEFT,      false },
+  { "Shift_R",               DALI_KEY_SHIFT_RIGHT,     false }
 };
 
 const std::size_t KEY_LOOKUP_COUNT = (sizeof( KeyLookupTable))/ (sizeof(KeyLookup));
index fb0f55e..53c18de 100644 (file)
@@ -74,6 +74,12 @@ KeyLookup KeyLookupTable[]=
   { "Hangul",                DALI_KEY_LANGUAGE,        false },
   { "XF86AudioRaiseVolume",  DALI_KEY_VOLUME_UP,       true  },
   { "XF86AudioLowerVolume",  DALI_KEY_VOLUME_DOWN,     true  },
+
+  { "BackSpace",             DALI_KEY_BACKSPACE,       false },
+  { "Left",                  DALI_KEY_CURSOR_LEFT,     false },
+  { "Right",                 DALI_KEY_CURSOR_RIGHT,    false },
+  { "Shift_L",               DALI_KEY_SHIFT_LEFT,      false },
+  { "Shift_R",               DALI_KEY_SHIFT_RIGHT,     false }
 };
 
 const std::size_t KEY_LOOKUP_COUNT = (sizeof( KeyLookupTable ))/ (sizeof( KeyLookup ));
index dfafcba..912ea8a 100644 (file)
@@ -77,7 +77,9 @@ KeyLookup KeyLookupTable[]=
 
   { "BackSpace",             DALI_KEY_BACKSPACE,       false },
   { "Left",                  DALI_KEY_CURSOR_LEFT,     false },
-  { "Right",                 DALI_KEY_CURSOR_RIGHT,    false }
+  { "Right",                 DALI_KEY_CURSOR_RIGHT,    false },
+  { "Shift_L",               DALI_KEY_SHIFT_LEFT,      false },
+  { "Shift_R",               DALI_KEY_SHIFT_RIGHT,     false }
 };
 
 const std::size_t KEY_LOOKUP_COUNT = (sizeof( KeyLookupTable))/ (sizeof(KeyLookup));
index dfafcba..912ea8a 100644 (file)
@@ -77,7 +77,9 @@ KeyLookup KeyLookupTable[]=
 
   { "BackSpace",             DALI_KEY_BACKSPACE,       false },
   { "Left",                  DALI_KEY_CURSOR_LEFT,     false },
-  { "Right",                 DALI_KEY_CURSOR_RIGHT,    false }
+  { "Right",                 DALI_KEY_CURSOR_RIGHT,    false },
+  { "Shift_L",               DALI_KEY_SHIFT_LEFT,      false },
+  { "Shift_R",               DALI_KEY_SHIFT_RIGHT,     false }
 };
 
 const std::size_t KEY_LOOKUP_COUNT = (sizeof( KeyLookupTable))/ (sizeof(KeyLookup));
index d1e87b2..1d15e86 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-adaptor
 Summary:    The DALi Tizen Adaptor
-Version:    1.1.0
+Version:    1.1.1
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0
index 8d2db72..2ce7e76 100644 (file)
@@ -2,7 +2,7 @@
 
 Name:       dali-adaptor
 Summary:    The DALi Tizen Adaptor
-Version:    1.1.0
+Version:    1.1.1
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0, BSD-2.0, MIT