Clarified destruction sequence and cleanup unnecessary code
authorKimmo Hoikka <kimmo.hoikka@samsung.com>
Tue, 6 May 2014 09:34:41 +0000 (10:34 +0100)
committerPaul Wisbey <p.wisbey@samsung.com>
Fri, 9 May 2014 15:29:43 +0000 (16:29 +0100)
[Issue#] N/A
[Problem]
[Cause]
[Solution]

adaptors/tizen/internal/common/adaptor-impl.cpp

index 95cc208..8f9a893 100644 (file)
@@ -161,75 +161,19 @@ Adaptor::~Adaptor()
     (*iter)->OnDestroy();
   }
 
-  if (mUpdateRenderController)
-  {
-    delete mUpdateRenderController;
-    mUpdateRenderController = NULL;
-  }
-
-  if( mVSyncMonitor )
-  {
-    delete mVSyncMonitor;
-    mVSyncMonitor = NULL;
-  }
-
-  if (mEventHandler)
-  {
-    delete mEventHandler;
-    mEventHandler = NULL;
-  }
-
-  if (mCore)
-  {
-    delete mCore;
-    mCore = NULL;
-  }
-
-  // Delete EGL factory after Core, otherwise we may have a crash from GL resource destructors
-  if ( mEglFactory )
-  {
-    delete mEglFactory;
-    mEglFactory = NULL;
-  }
-
+  delete mUpdateRenderController; // this will shutdown render thread, which will call Core::ContextDestroyed before exit
+  delete mVSyncMonitor;
+  delete mEventHandler;
+  delete mCore;
+  delete mEglFactory;
   // Delete feedback controller before feedback plugin & style monitor dependencies
   delete mFeedbackController;
-
-  if (mDaliFeedbackPlugin)
-  {
-    delete mDaliFeedbackPlugin;
-    mDaliFeedbackPlugin = NULL;
-  }
-
-  if (mGLES)
-  {
-    delete mGLES;
-    mGLES = NULL;
-  }
-
-  if (mGestureManager)
-  {
-    delete mGestureManager;
-    mGestureManager = NULL;
-  }
-
-  if (mPlatformAbstraction)
-  {
-    delete mPlatformAbstraction;
-    mPlatformAbstraction = NULL;
-  }
-
-  if (mCallbackManager)
-  {
-    delete mCallbackManager;
-    mCallbackManager = NULL;
-  }
-
-  if( mPerformanceInterface )
-  {
-    delete mPerformanceInterface;
-    mPerformanceInterface = NULL;
-  }
+  delete mDaliFeedbackPlugin;
+  delete mGLES;
+  delete mGestureManager;
+  delete mPlatformAbstraction;
+  delete mCallbackManager;
+  delete mPerformanceInterface;
 
   // uninstall it on this thread (main actor thread)
   Dali::Integration::Log::UninstallLogFunction();