Enable -Wnon-virtual-dtor to avoid incorrect C++ code sneaking in
[platform/core/uifw/dali-core.git] / dali / internal / event / events / hit-test-algorithm-impl.cpp
index 62ad33f..56027a0 100644 (file)
@@ -249,7 +249,7 @@ HitActor HitTestWithinLayer( Actor& actor,
               hit.actor = &actor;
               hit.hitPosition = hitPointLocal;
               hit.distance = distance;
-              hit.depth = actor.GetHierarchyDepth() * Dali::Layer::TREE_DEPTH_MULTIPLIER;
+              hit.depth = actor.GetSortingDepth() ;
 
               if( actor.GetRendererCount() > 0 )
               {
@@ -550,19 +550,11 @@ bool HitTestRenderTaskList( Stage& stage,
   for( RenderTaskList::RenderTaskContainer::reverse_iterator iter = tasks.rbegin(); endIter != iter; ++iter )
   {
     RenderTask& renderTask = GetImplementation( *iter );
-    Dali::FrameBufferImage frameBufferImage = renderTask.GetTargetFrameBuffer();
-
-    // Note that if frameBufferImage is NULL we are using the default (on screen) render target
-    if( frameBufferImage )
+    bool isOffscreenRenderTask = ( iter->GetTargetFrameBuffer() || iter->GetFrameBuffer() );
+    if( (onScreen && isOffscreenRenderTask) || (!onScreen && !isOffscreenRenderTask) )
     {
-      ResourceId id = GetImplementation( frameBufferImage ).GetResourceId();
-
-      // Change comparison depending on if on-screen or off-screen.
-      if( onScreen ? ( 0 != id ) : ( 0 == id ) )
-      {
-        // Skip to next task
-        continue;
-      }
+      // Skip to next task
+      continue;
     }
 
     if( HitTestRenderTask( exclusives, stage, layers, renderTask, screenCoordinates, results, hitCheck ) )
@@ -609,6 +601,10 @@ bool HitTestForEachRenderTask( Stage& stage,
 
 } // unnamed namespace
 
+HitTestInterface::~HitTestInterface()
+{
+}
+
 bool HitTest( Stage& stage, const Vector2& screenCoordinates, Dali::HitTestAlgorithm::Results& results, Dali::HitTestAlgorithm::HitTestFunction func )
 {
   bool wasHit( false );