Merge "[Tizen] Fix Coverity issues" into tizen
authorSeoyeon Kim <seoyeon2.kim@samsung.com>
Thu, 11 Jul 2019 08:51:05 +0000 (08:51 +0000)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Thu, 11 Jul 2019 08:51:05 +0000 (08:51 +0000)
15 files changed:
build/tizen/adaptor/Makefile.am
build/tizen/adaptor/module.list
dali/devel-api/adaptor-framework/file-loader.cpp
dali/internal/adaptor-framework/common/file-loader-impl.h [new file with mode: 0644]
dali/internal/adaptor-framework/file.list [new file with mode: 0644]
dali/internal/adaptor-framework/generic/file-loader-impl-generic.cpp [new file with mode: 0644]
dali/internal/adaptor/common/adaptor-impl.cpp
dali/internal/graphics/gles/egl-implementation.cpp
dali/internal/graphics/gles/egl-implementation.h
dali/internal/haptics/common/feedback-player-impl.cpp
dali/internal/styling/common/style-monitor-impl.cpp
dali/internal/system/common/file-closer.h
dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp
dali/public-api/dali-adaptor-version.cpp
packaging/dali-adaptor.spec

index 909a96c..b11033f 100644 (file)
@@ -35,6 +35,7 @@ LIBDALI_ADAPTOR_LA_SOURCES = \
                   $(adaptor_adaptor_ubuntu_src_files) \
                   $(adaptor_clipboard_common_src_files) \
                   $(adaptor_clipboard_ubuntu_x11_src_files) \
+                  $(adaptor_framework_generic_src_files) \
                   $(devel_api_src_files) \
                   $(adaptor_devel_api_text_abstraction_src_files) \
                   $(adaptor_graphics_common_src_files) \
@@ -91,6 +92,7 @@ LIBDALI_ADAPTOR_LA_SOURCES = \
                   $(adaptor_adaptor_tizen_wayland_src_files) \
                   $(adaptor_clipboard_common_src_files) \
                   $(adaptor_clipboard_tizen_wayland_src_files) \
+                  $(adaptor_framework_generic_src_files) \
                   $(devel_api_src_files) \
                   $(adaptor_devel_api_text_abstraction_src_files) \
                   $(adaptor_graphics_common_src_files) \
@@ -155,6 +157,7 @@ LIBDALI_ADAPTOR_LA_SOURCES = \
                   $(adaptor_adaptor_tizen_wayland_src_files) \
                   $(adaptor_clipboard_common_src_files) \
                   $(adaptor_clipboard_tizen_wayland_src_files) \
+                  $(adaptor_framework_generic_src_files) \
                   $(devel_api_src_files) \
                   $(adaptor_devel_api_text_abstraction_src_files) \
                   $(adaptor_graphics_common_src_files) \
@@ -220,6 +223,7 @@ LIBDALI_ADAPTOR_LA_SOURCES = \
                   $(adaptor_adaptor_tizen_wayland_src_files) \
                   $(adaptor_clipboard_common_src_files) \
                   $(adaptor_clipboard_tizen_wayland_src_files) \
+                  $(adaptor_framework_generic_src_files) \
                   $(devel_api_src_files) \
                   $(adaptor_devel_api_text_abstraction_src_files) \
                   $(adaptor_graphics_common_src_files) \
@@ -283,6 +287,7 @@ LIBDALI_ADAPTOR_LA_SOURCES = \
                   $(adaptor_adaptor_tizen_wayland_src_files) \
                   $(adaptor_clipboard_common_src_files) \
                   $(adaptor_clipboard_tizen_wayland_src_files) \
+                  $(adaptor_framework_generic_src_files) \
                   $(devel_api_src_files) \
                   $(adaptor_devel_api_text_abstraction_src_files) \
                   $(adaptor_graphics_common_src_files) \
@@ -349,6 +354,7 @@ LIBDALI_ADAPTOR_LA_SOURCES = \
                   $(adaptor_adaptor_tizen_wearable_src_files) \
                   $(adaptor_clipboard_common_src_files) \
                   $(adaptor_clipboard_tizen_wayland_src_files) \
+                  $(adaptor_framework_generic_src_files) \
                   $(devel_api_src_files) \
                   $(adaptor_devel_api_text_abstraction_src_files) \
                   $(adaptor_graphics_common_src_files) \
index 97727a4..2e73325 100644 (file)
@@ -11,6 +11,10 @@ include ../../../dali/internal/adaptor/file.list
 adaptor_clipboard_dir = ../../../dali/internal/clipboard
 include ../../../dali/internal/clipboard/file.list
 
+# module: adaptor-framework
+adaptor_framework_dir = ../../../dali/internal/adaptor-framework
+include ../../../dali/internal/adaptor-framework/file.list
+
 # Module: graphics
 adaptor_graphics_dir = ../../../dali/internal/graphics
 include ../../../dali/internal/graphics/file.list
index 9403781..b63b5c7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 // CLASS HEADER
 #include <dali/devel-api/adaptor-framework/file-loader.h>
 
-
+// EXTERNAL INCLUDES
 #include <iostream>
 #include <fstream>
 
+// INTERNAL INCLUDES
+#include <dali/internal/adaptor-framework/common/file-loader-impl.h>
+
 namespace Dali
 {
 
@@ -29,60 +32,17 @@ namespace FileLoader
 
 int ReadFile(const std::string& filename, Dali::Vector<char> & memblock, FileLoader::FileType fileType)
 {
-  std::streampos size;
-
-  return ReadFile( filename, size, memblock, fileType);
+  return Dali::Internal::Adaptor::ReadFile( filename, memblock, fileType );
 }
 
-int ReadFile(const std::string& filename, std::streampos& fileSize, Dali::Vector<char> & memblock, FileLoader::FileType fileType)
+int ReadFile(const std::string& filename, std::streampos& fileSize, Dali::Vector<char>& memblock, FileLoader::FileType fileType)
 {
-  int errorCode = 0;
-  std::ifstream * file;
-
-
-  if( fileType == BINARY )
-  {
-    file = new std::ifstream (filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate);
-  }
-  else if( fileType == TEXT )
-  {
-    file = new std::ifstream (filename.c_str(), std::ios::in|std::ios::ate);
-  }
-  else
-  {
-    return errorCode;
-  }
-
-  if( file->is_open() )
-  {
-    fileSize = file->tellg();
-
-    memblock.Resize( fileSize );
-
-    file->seekg (0, std::ios::beg);
-    file->read( memblock.Begin(), fileSize );
-    file->close();
-
-    delete file;
-
-    errorCode = 1;
-  }
-
-  return errorCode;
+  return Dali::Internal::Adaptor::ReadFile( filename, fileSize, memblock, fileType );;
 }
 
-
 std::streampos GetFileSize(const std::string& filename)
 {
-  std::streampos size = 0;
-
-  std::ifstream file (filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate);
-  if( file.is_open() )
-  {
-    size = file.tellg();
-    file.close();
-  }
-  return size;
+  return Dali::Internal::Adaptor::GetFileSize(filename);
 }
 
 } //FileLoader
diff --git a/dali/internal/adaptor-framework/common/file-loader-impl.h b/dali/internal/adaptor-framework/common/file-loader-impl.h
new file mode 100644 (file)
index 0000000..8319716
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef DALI_FILE_LOADER_IMPL_GENERIC_H
+#define DALI_FILE_LOADER_IMPL_GENERIC_H
+
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// EXTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/file-loader.h>
+
+// INTERNAL INCLUDES
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace Adaptor
+{
+
+int ReadFile(const std::string& filename, Dali::Vector<char>& memblock, Dali::FileLoader::FileType fileType = Dali::FileLoader::BINARY);
+
+int ReadFile(const std::string& filename, std::streampos& fileSize, Dali::Vector<char>& memblock, Dali::FileLoader::FileType fileType = Dali::FileLoader::BINARY);
+
+std::streampos GetFileSize(const std::string& filename);
+
+} // Adaptor
+
+} // Internal
+
+} // Dali
+#endif // DALI_FILE_LOADER_IMPL_GENERIC_H
diff --git a/dali/internal/adaptor-framework/file.list b/dali/internal/adaptor-framework/file.list
new file mode 100644 (file)
index 0000000..443056e
--- /dev/null
@@ -0,0 +1,3 @@
+# module: adaptor-framework, backend: generic
+adaptor_framework_generic_src_files=\
+    ${adaptor_framework_dir}/generic/file-loader-impl-generic.cpp
diff --git a/dali/internal/adaptor-framework/generic/file-loader-impl-generic.cpp b/dali/internal/adaptor-framework/generic/file-loader-impl-generic.cpp
new file mode 100644 (file)
index 0000000..45422e7
--- /dev/null
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// CLASS HEADER
+#include <dali/internal/adaptor-framework/common/file-loader-impl.h>
+
+// EXTERNAL INCLUDES
+#include <string>
+#include <fstream>
+
+#include <dali/integration-api/debug.h>
+
+namespace Dali
+{
+
+namespace Internal
+{
+
+namespace Adaptor
+{
+
+int ReadFile(const std::string& filename, Dali::Vector<char> & memblock, Dali::FileLoader::FileType fileType)
+{
+  std::streampos size;
+
+  return Dali::Internal::Adaptor::ReadFile( filename, size, memblock, fileType);
+}
+
+int ReadFile(const std::string& filename, std::streampos& fileSize, Dali::Vector<char> & memblock, Dali::FileLoader::FileType fileType)
+{
+  int errorCode = 0;
+  std::ifstream * file;
+
+  if( fileType == Dali::FileLoader::BINARY )
+  {
+    file = new std::ifstream (filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate);
+  }
+  else if( fileType == Dali::FileLoader::TEXT )
+  {
+    file = new std::ifstream (filename.c_str(), std::ios::in|std::ios::ate);
+  }
+  else
+  {
+    return errorCode;
+  }
+
+  if( file->is_open() )
+  {
+    fileSize = file->tellg();
+
+    memblock.Resize( fileSize );
+
+    file->seekg (0, std::ios::beg);
+    file->read( memblock.Begin(), fileSize );
+    file->close();
+
+    delete file;
+
+    errorCode = 1;
+  }
+  else
+  {
+    DALI_LOG_WARNING( "file open failed for: \"%s\"", filename );
+  }
+
+  return errorCode;
+}
+
+std::streampos GetFileSize(const std::string& filename)
+{
+  std::streampos size = 0;
+
+  std::ifstream file( filename.c_str(), std::ios::in|std::ios::binary|std::ios::ate );
+  if( file.is_open() )
+  {
+    size = file.tellg();
+    file.close();
+  }
+
+  return size;
+}
+
+} // Adaptor
+
+} // Internal
+
+} // Dali
index 0f306c0..1bf9672 100755 (executable)
@@ -845,6 +845,13 @@ void Adaptor::OnWindowShown()
     // Force a render task
     RequestUpdateOnce();
   }
+  else if( RUNNING == mState )
+  {
+    // Force a render task
+    RequestUpdateOnce();
+
+    DALI_LOG_RELEASE_INFO( "Adaptor::OnWindowShown: Update requested.\n" );
+  }
   else
   {
     // Force a render task
index d27fc94..a9c5804 100755 (executable)
@@ -35,7 +35,9 @@
 
 namespace
 {
+  const uint32_t CHECK_EXTENSION_NUMBER = 2;
   const std::string EGL_KHR_SURFACELESS_CONTEXT = "EGL_KHR_surfaceless_context";
+  const std::string EGL_KHR_CREATE_CONTEXT = "EGL_KHR_create_context";
 }
 
 namespace Dali
@@ -78,7 +80,8 @@ EglImplementation::EglImplementation( int multiSamplingLevel,
   mIsWindow( true ),
   mDepthBufferRequired( depthBufferRequired == Integration::DepthBufferAvailable::TRUE ),
   mStencilBufferRequired( stencilBufferRequired == Integration::StencilBufferAvailable::TRUE ),
-  mIsSurfacelessContextSupported( false )
+  mIsSurfacelessContextSupported( false ),
+  mIsKhrCreateContextSupported( false )
 {
 }
 
@@ -116,14 +119,20 @@ bool EglImplementation::InitializeGles( EGLNativeDisplayType display, bool isOwn
 
   // Query EGL extensions to check whether surfaceless context is supported
   const char* const extensionStr = eglQueryString( mEglDisplay, EGL_EXTENSIONS );
-  std::istringstream stream(extensionStr);
+  std::istringstream stream( extensionStr );
   std::string currentExtension;
-  while ( std::getline( stream, currentExtension, ' ' ) )
+  uint32_t extensionCheckCount = 0;
+  while( std::getline( stream, currentExtension, ' ' ) && extensionCheckCount < CHECK_EXTENSION_NUMBER )
   {
-    if ( currentExtension == EGL_KHR_SURFACELESS_CONTEXT )
+    if( currentExtension == EGL_KHR_SURFACELESS_CONTEXT )
     {
       mIsSurfacelessContextSupported = true;
-      break;
+      extensionCheckCount++;
+    }
+    if( currentExtension == EGL_KHR_CREATE_CONTEXT )
+    {
+      mIsKhrCreateContextSupported = true;
+      extensionCheckCount++;
     }
   }
 
@@ -457,7 +466,7 @@ bool EglImplementation::ChooseConfig( bool isWindowType, ColorDepth depth )
   Integration::Log::LogMessage(Integration::Log::DebugInfo, "Using OpenGL es %d.%d.\n", mGlesVersion / 10, mGlesVersion % 10 );
 
   mContextAttribs.Clear();
-  if( mGlesVersion >= 30 )
+  if( mIsKhrCreateContextSupported )
   {
     mContextAttribs.Reserve(5);
     mContextAttribs.PushBack( EGL_CONTEXT_MAJOR_VERSION_KHR );
@@ -469,7 +478,7 @@ bool EglImplementation::ChooseConfig( bool isWindowType, ColorDepth depth )
   {
     mContextAttribs.Reserve(3);
     mContextAttribs.PushBack( EGL_CONTEXT_CLIENT_VERSION );
-    mContextAttribs.PushBack( 2 );
+    mContextAttribs.PushBack( mGlesVersion / 10 );
   }
   mContextAttribs.PushBack( EGL_NONE );
 
index 03c35f4..2901b9e 100644 (file)
@@ -239,6 +239,7 @@ private:
   bool                 mDepthBufferRequired;
   bool                 mStencilBufferRequired;
   bool                 mIsSurfacelessContextSupported;
+  bool                 mIsKhrCreateContextSupported;
 };
 
 } // namespace Adaptor
index 738e96f..ea4a5f0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,8 +19,9 @@
 #include <dali/internal/haptics/common/feedback-player-impl.h>
 
 // EXTERNAL INCLUDES
-#include <fstream>
 #include <dali/public-api/object/type-registry.h>
+#include <dali/devel-api/adaptor-framework/file-loader.h>
+#include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
 #include <dali/internal/system/common/singleton-service-impl.h>
@@ -111,12 +112,11 @@ bool FeedbackPlayer::LoadFile(const std::string& filename, std::string& data)
 {
   bool loaded = false;
 
-  std::ifstream stream(filename.c_str());
-
-  if( stream.is_open() )
+  std::streampos bufferSize = 0;
+  Dali::Vector<char> fileBuffer;
+  if( Dali::FileLoader::ReadFile( filename, bufferSize, fileBuffer, FileLoader::FileType::TEXT ) )
   {
-    data.assign((std::istreambuf_iterator<char>(stream)),
-                std::istreambuf_iterator<char>());
+    data.assign( &fileBuffer[0], bufferSize );
     loaded = true;
   }
 
index badca0c..5b316b4 100644 (file)
@@ -19,9 +19,8 @@
 #include <dali/internal/styling/common/style-monitor-impl.h>
 
 // EXTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/file-loader.h>
 #include <dali/public-api/object/type-registry.h>
-#include <fstream>
-#include <sstream>
 #include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
@@ -157,17 +156,15 @@ void StyleMonitor::SetTheme(const std::string& path)
 bool StyleMonitor::LoadThemeFile( const std::string& filename, std::string& output )
 {
   bool retval( false );
-  std::ifstream in( filename.c_str(), std::ios::in );
-  if( in )
-  {
-    std::stringstream buffer;
-    buffer << in.rdbuf();
-
-    output = buffer.str();
 
-    in.close();
+  std::streampos bufferSize = 0;
+  Dali::Vector<char> fileBuffer;
+  if( Dali::FileLoader::ReadFile( filename, bufferSize, fileBuffer, FileLoader::FileType::TEXT ) )
+  {
+    output.assign( &fileBuffer[0], bufferSize );
     retval = true;
   }
+
   return retval;
 }
 
index 96b03b0..27c30ac 100755 (executable)
@@ -18,6 +18,7 @@
  */
 
 // INTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/file-loader.h>
 
 // EXTERNAL INCLUDES
 #include <cstdio>
@@ -39,22 +40,51 @@ protected: // prevent this class being directly instantiated
   /**
    * @brief Construct a FileCloser guarding a new FILE* for accessing the path passed in.
    */
-  FileCloser( const char * const filename, const char * const mode )
-  : mFile(fopen(filename, mode))
+  FileCloser( const char* const filename, const char* const mode )
   {
-    DALI_ASSERT_DEBUG( filename != 0 && "Cant open a null filename." );
+    DALI_ASSERT_DEBUG( filename != 0 && "Can't open a null filename." );
     DALI_ASSERT_DEBUG( mode != 0 && "Null mode is undefined behaviour in spec." );
 
-    if( mFile == 0 )
+    Dali::FileLoader::FileType fileType = Dali::FileLoader::FileType::TEXT;
+
+    const char* modeStr = mode;
+    while( *modeStr )
+    {
+      switch ( *modeStr )
+      {
+      case 'r':
+        break;
+      case 'b':
+        fileType = FileLoader::FileType::BINARY;
+        break;
+      // Still has to use fopen for append and write modes
+      case 'a':
+      case 'w':
+      case '+':
+        mFile = fopen( filename, mode );
+        return;
+      default:
+        break;
+      }
+
+      ++modeStr;
+    }
+
+    std::streampos bufferSize = 0;
+    if( !Dali::FileLoader::ReadFile( filename, bufferSize, mFileBuffer, fileType ) )
+    {
+      mFile = nullptr;
+    }
+    else
     {
-      DALI_LOG_WARNING( "File open failed for: \"%s\" in mode: \"%s\".\n", filename, mode );
+      mFile = fmemopen( &mFileBuffer[0], bufferSize, mode );
     }
   }
 
   /**
    * @brief Construct a FileCloser guarding a FILE* for reading out of the memory buffer passed in.
    */
-  FileCloser( uint8_t* buffer, size_t dataSize, const char * const mode )
+  FileCloser( uint8_t* buffer, size_t dataSize, const char* const mode )
   : mFile( fmemopen( buffer, dataSize, mode) )
   {
   }
@@ -119,6 +149,7 @@ private:
 
 private:
   FILE* mFile;
+  Dali::Vector<char> mFileBuffer;
 };
 
 } // namespace Platform
index 2ae12f1..5d1a51a 100755 (executable)
@@ -1237,38 +1237,38 @@ void WindowBaseEcoreWl2::DestroyEglWindow()
 
 void WindowBaseEcoreWl2::SetEglWindowRotation( int angle )
 {
-  wl_egl_window_rotation rotation;
+  wl_egl_window_tizen_rotation rotation;
 
   switch( angle )
   {
     case 0:
     {
-      rotation = ROTATION_0;
+      rotation = WL_EGL_WINDOW_TIZEN_ROTATION_0 ;
       break;
     }
     case 90:
     {
-      rotation = ROTATION_270;
+      rotation = WL_EGL_WINDOW_TIZEN_ROTATION_90;
       break;
     }
     case 180:
     {
-      rotation = ROTATION_180;
+      rotation = WL_EGL_WINDOW_TIZEN_ROTATION_180;
       break;
     }
     case 270:
     {
-      rotation = ROTATION_90;
+      rotation = WL_EGL_WINDOW_TIZEN_ROTATION_90;
       break;
     }
     default:
     {
-      rotation = ROTATION_0;
+      rotation = WL_EGL_WINDOW_TIZEN_ROTATION_0 ;
       break;
     }
   }
 
-  wl_egl_window_set_rotation( mEglWindow, rotation );
+  wl_egl_window_tizen_set_rotation( mEglWindow, rotation );
 }
 
 void WindowBaseEcoreWl2::SetEglWindowBufferTransform( int angle )
@@ -1304,7 +1304,7 @@ void WindowBaseEcoreWl2::SetEglWindowBufferTransform( int angle )
     }
   }
 
-  wl_egl_window_set_buffer_transform( mEglWindow, bufferTransform );
+  wl_egl_window_tizen_set_buffer_transform( mEglWindow, bufferTransform );
 }
 
 void WindowBaseEcoreWl2::SetEglWindowTransform( int angle )
@@ -1340,7 +1340,7 @@ void WindowBaseEcoreWl2::SetEglWindowTransform( int angle )
     }
   }
 
-  wl_egl_window_set_window_transform( mEglWindow, windowTransform );
+  wl_egl_window_tizen_set_window_transform( mEglWindow, windowTransform );
 }
 
 void WindowBaseEcoreWl2::ResizeEglWindow( PositionSize positionSize )
@@ -1358,8 +1358,8 @@ void WindowBaseEcoreWl2::ResizeEglWindow( PositionSize positionSize )
 bool WindowBaseEcoreWl2::IsEglWindowRotationSupported()
 {
   // Check capability
-  wl_egl_window_capability capability = static_cast< wl_egl_window_capability >( wl_egl_window_get_capabilities( mEglWindow ) );
-  if( capability == WL_EGL_WINDOW_CAPABILITY_ROTATION_SUPPORTED )
+  wl_egl_window_tizen_capability capability = static_cast< wl_egl_window_tizen_capability >( wl_egl_window_tizen_get_capabilities( mEglWindow ) );
+  if( capability == WL_EGL_WINDOW_TIZEN_CAPABILITY_ROTATION_SUPPORTED )
   {
     return true;
   }
index 05fea4c..db393bc 100644 (file)
@@ -28,7 +28,7 @@ namespace Dali
 
 const unsigned int ADAPTOR_MAJOR_VERSION = 1;
 const unsigned int ADAPTOR_MINOR_VERSION = 4;
-const unsigned int ADAPTOR_MICRO_VERSION = 26;
+const unsigned int ADAPTOR_MICRO_VERSION = 27;
 const char * const ADAPTOR_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index 65075a2..69071ed 100644 (file)
@@ -17,7 +17,7 @@
 
 Name:       dali-adaptor
 Summary:    The DALi Tizen Adaptor
-Version:    1.4.26
+Version:    1.4.27
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT